[Laravel]5.x系の認証機能を使ってみる

LaravelLaravel

前回6系で認証機能を使ってみましたが、laravel5でも認証機能を試してみました!

使ってみる

make:authコマンドを実行する

下記コマンドで認証機能を追加できます。

php artisan make:auth

app.blade.phpを変えていたせいか、下記のように聞かれてしまいました。
yesにするとapp.blade.phpが上書きされます。

 The [layouts/app.blade.php] view already exists. Do you want to replace it? (yes/no) [no]:
 > yes 

Authentication scaffolding generated successfully.

追加・変更されたファイルを確認

Controller

/homeにアクセスされたときの挙動をするコントローラーが追加されてます。

app/Http/Controllers/HomeController.php

Blade

下記bladeが追加されました。

resources/views/home.blade.php
resources/views/auth/login.blade.php
resources/views/auth/register.blade.php
resources/views/auth/verify.blade.php
resources/views/auth/passwords/email.blade.php
resources/views/auth/passwords/reset.blade.php

Other

下記bladeが変更されます。

resources/views/layouts/app.blade.php

web.phpのルーティングが変わりました。

routes/web.php

Auth::routes();と/homeにアクセスされたときのルーティングが書いています。

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Auth::routes??

Auth::routesが書いてあることで、下記のrouteが追加されています。
php artisan route:listで確認できます。

MethodURIAction(AppHttpControllers配下)
POSTloginAuthLoginController@login
GETHEADlogin | AuthLoginController@showLoginForm
POSTlogoutAuthLoginController@logout
POSTpassword/emailAuthForgotPasswordController@sendResetLinkEmail
GETHEADpassword/reset | AuthForgotPasswordController@showLinkRequestForm
POSTpassword/resetAuthResetPasswordController@reset
GETHEADpassword/reset/{token} | AuthResetPasswordController@showResetForm
GETHEADregister | AuthRegisterController@showRegistrationForm
POSTregisterAuthRegisterController@register

migrationを実行する

下記コマンドを実行してmigrationします。

php artisan migrate

動作確認

/register にアクセスして、ユーザー情報を入力して登録すると…

ログインできました!OK👍🏻

エラー(Trying to access array offset on value of type null)

Laravel5をphp7.4で動かしたら下記エラーが発生しました。

Trying to access array offset on value of type null

5系を使いたい場合は、php7.3以下を使うようにしましょう。

コメント

タイトルとURLをコピーしました