質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

2222閲覧

[Laravel5.4]認証機能を実装したい

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/09/11 03:21

Lara帳
こちらを参考にしています。

認証機能を実装するパートにきて、記事を読んでいったのですが、
認証機能用のコントローラーなどが仕様変わっていたので質問させていただきます。

config\auth.phpも見比べてみると変わっているのですが、
AuthController.phpというものが生成されなくなり、
C:\Homestead\Laravel\app\Http\Controllers\Authの中に
ForgotPassword,Login,Register,ResetPasswordというコントローラーファイルが生成されていました。
web.phpには一応ルート設定を加えたのですが、Laravel5.4の仕様だとどう書き換えればいいでしょうか。

//Authenrication routes... Route::get('auth/login' , 'Auth\AuthController@getLogin'); Route::post('auth/login' , 'Auth\AuthController@postLogin'); Route::get('auth/logout' , 'Auth\AuthController@getLogout'); //registation routes... Route::get('auth/register' , 'Auth\AuthController@getRegister'); Route::post('auth/register' , 'Auth\AuthController');

Laravel5.4でマルチ認証
こちらも少し読んでみたのですが、Lara帳の見本と食い違いがあったら嫌なので行っていません。

このように書き換えれば動くでしょうか?
(それでもパスワード忘れ・パスワードリセットがないですが・・・)

//Authenrication routes... Route::get('auth/login' , 'Auth\LoginController@getLogin'); Route::post('auth/login' , 'Auth\LoginController@postLogin'); Route::get('auth/logout' , 'Auth\LoginController@getLogout'); //registation routes... Route::get('auth/register','Auth\RegisterController@getRegister'); Route::post('auth/register' , 'Auth\RegisterController');

参考になるサイト等含めてご教示いただければと思います、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

laravel5.4からは認証のルーティングの追加のされ方が変わってます。

make:authでやったのなら、web.phpにAuth::routes();という記述があるかと思いますがそれだけでルーティングは全部終わってます。

もっと正確に言うと、Auth::routes();の記述で以下が追加されているのと同じ事になります。
vendor/laravel/framework/src/Illuminate/Routing/Router.php

php

1 // Authentication Routes... 2 $this->get('login', 'Auth\LoginController@showLoginForm')->name('login'); 3 $this->post('login', 'Auth\LoginController@login'); 4 $this->post('logout', 'Auth\LoginController@logout')->name('logout'); 5 6 // Registration Routes... 7 $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); 8 $this->post('register', 'Auth\RegisterController@register'); 9 10 // Password Reset Routes... 11 $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); 12 $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); 13 $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); 14 $this->post('password/reset', 'Auth\ResetPasswordController@reset');

Lara帳と見比べながら、こちらを優先して開発をするほうが問題が起きないかと思われます。
(Lara帳のメソッドの命名も良いとは言い切れないものです、あと今後もずっとLara帳を通す感じであれば一度5.1を使ってLara帳をやってから5.4や5.5に来たほうが正直良いかと思われます。)

投稿2017/09/11 03:43

編集2017/09/11 03:51
fagai

総合スコア2158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/11 04:12 編集

ありがとうございます!route:listで確認したところ contact home index login logoutなどなど生成されていました! 初めてのフレームワークでこのやり方は相当力押しでバカだなーって思ってもいるのですが、急いでいるので・・・いつも申し訳ないです。
fagai

2017/09/11 04:14

急いでいるならなおさら5.1でスムーズにやったほうが良い気がするのですが・・・どうでしょう?
退会済みユーザー

退会済みユーザー

2017/09/11 04:19

それもそうですね・・・bootstrapが適用されてない気もするので戻したほうがいいのでしょうか。bootstrapは3.3.4のようなのですが、見本通りの左右のメニューにもわかれていないんです。 バージョンダウンは一度削除してやり直すしかないでしょうか。
fagai

2017/09/11 04:30

Lara帳通りにやっていきたいのであればそうしたほうが良い気がします。 基本的にはバージョンダウンは出来ないので別で作り直すしか無いですね。やる内容自体はあまり変わらないと思うのでそちらをおすすめしますよ。
退会済みユーザー

退会済みユーザー

2017/09/11 04:48

ただ、非推奨になり削除されたものがあるとも教えていただき、 5.1にバージョンダウンしてやると更にごちゃごちゃになって混乱するのではないかとも思ってしまいます。 プロジェクトごとにバージョンが違うものを入れる方法があったら覚えたほうがいいのでしょうか。
退会済みユーザー

退会済みユーザー

2017/09/11 04:50

いよいよ本が出されるんですか、店頭に置かれたら見てみようと思います。
fagai

2017/09/11 05:12

バージョン違いを入れる方法はすごく簡単で、 composer create-project laravel/laravel プロジェクト名 "5.X.*" のXを1とか5とか入れればそれでOKです。
fagai

2017/09/11 05:13

本は以前から幾つかあったのですが、初心者向けかと言われると微妙な感じなものが多いので今回の本もそうならないように祈りたいところです。
退会済みユーザー

退会済みユーザー

2017/09/11 05:19 編集

ありがとうございます。バージョン違いを入れるコマンドは一応見るだけは見ていました、今使っているのはHomesteadとLaravel5.4で、プロジェクト名はLaravelです。 プロジェクト名はLaravel5.1にでもしましょうか・・・。 Homesteadも使う場合、仮想マシンを切り替えればいいだけになるのでしょうか? 割と近い本屋はフレームワークに関する本を今まで見たことがないので、 まず置くようになって欲しいですね・・・
fagai

2017/09/11 05:24

Homesteadも別々に用意したほうが良いかもしれませんね。 homesteadはproject内部に入れ込むこともできた気がするので、それを検討するのも良いかもしれません。 5.1が出てすぐに本が出たのですが、それ以降は本が出てないんですよね。Laravelは機能が多いし、構成はどんどん変わってしまうのであまり本を出してもすぐ古くなってしまって大変な感じがありますねー。
退会済みユーザー

退会済みユーザー

2017/09/11 05:29

今Homesteadのディレクトリ直下にLaravelとLaravel5.1というフォルダ名で 5.1と5.4があります(何もついてない方は5.4です) これだと競合してしまいますか?これも初めてなのでわからないです。 そんなに早く変わってしまうならLaracastsみたいな課金制でアップデートされたもののチュートリアルするほうが楽かもしれませんね・・・大変です。
fagai

2017/09/11 05:35

DBを共通で使うなら恐らく問題はないと思います。 実際、自分がhomesteadで開発してないので絶対とは言い切れませんが・・・ 正直このような本は約1年位かけて書くものでしょうから、そのうちに2つくらいバージョンが変わりそうなんですよね。
退会済みユーザー

退会済みユーザー

2017/09/11 05:48 編集

C:\Homestead\Laravel5.1>vagrant up してhttp://localhost:8000/にアクセスしたところLaravel5.4の方で作ったページが表示されました・・・ これは5.4のほうの仮想マシンを使っているからそちらの内容が返ってくるということでいいでしょうか。一応php artisan serveのほうはLaravel5のロゴが返ってきたので、しばらくこちらで進めてみようと思います。
fagai

2017/09/11 09:31

恐らくmapしているディレクトリの設定がそのままだからじゃないですか? 途中までは気にせずにphp artisan serveだけで解決しそうですね
退会済みユーザー

退会済みユーザー

2017/09/11 10:00

そうですね、今bootstrap導入のところまで来ましたけど、serveだけで動作確認できてます。
退会済みユーザー

退会済みユーザー

2017/09/11 10:10

今ElixirとBootstrapの導入のところにきたのですが、lessのフォルダがありません、5.1のときはまだあると教えていただいた記憶があるのですが・・・。
fagai

2017/09/11 10:13

ディレクトリが無いだけなので、自分で作ったらよいかと思います。5.1でもディレクトリ存在しなかった気もします
退会済みユーザー

退会済みユーザー

2017/09/11 10:17

わかりました、ありがとうございます。 とりあえずCSSの方は機能してくれてるようなので、ひとまずこのまま進めてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問