インストール
1 |
$ composer require laravel/breeze |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Info from https://repo.packagist.org: #StandWithUkraine Cannot use laravel/breeze's latest version v1.15.2 as it requires php ^8.0.2 which is not satisfied by your platform. Using version ^1.10 for laravel/breeze ./composer.json has been updated Running composer update laravel/breeze Loading composer repositories with package information Updating dependencies Lock file operations: 1 install, 0 updates, 0 removals - Locking laravel/breeze (v1.10.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing laravel/breeze (v1.10.0): Extracting archive Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead. Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fruitcake/laravel-cors Discovered Package: laravel/breeze Discovered Package: laravel/sail Discovered Package: laravel/sanctum Discovered Package: laravel/tinker Discovered Package: laravel/ui Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 77 packages you are using are looking for funding. Use the `composer fund` command to find out more! > @php artisan vendor:publish --tag=laravel-assets --ansi --force No publishable resources for tag [laravel-assets]. Publishing complete. No security vulnerability advisories found |
breezeのインストール
1 2 3 4 5 6 |
$ php artisan breeze:install Breeze scaffolding installed successfully. Please execute the "npm install" && "npm run dev" commands to build your assets. $ npm install |
ログイン画面
ここまで行うとログイン画面が表示されるようになります。
Laravel8での注意点
Laravel 8でBreezeを使用するとcssが反映されない場合があります。
フロントのアセットのコンパイルにLaravel Mix指定されているが、layoutsの該当ファイルではviteが使用されているので、表示がエラーになります。
手軽な修正方法は、下記のように css の読込個所を修正します。
1 2 3 4 5 |
<!-- Styles --> <link rel="stylesheet" href="{{ asset('css/app.css') }}"> <!-- Scripts --> <script src="{{ asset('js/app.js') }}" defer></script> |
ユーザー登録をして、ログインすると、下記の画面が表示されれば、正常に動作しています。
ログイン関連のその他について
ログイン後のリダイレクト先の定義
下記のファイルに、リダイレクト先が定義されています。
1 2 3 |
app/Providers/RouteServiceProvider.php public const HOME = '/dashboard'; |
ログインのコントローラーについて
app/Http/Controllers/Auth/AuthenticatedSessionController.php
create(): ログインフォーム
store(): ログインの実行
destroy(): ログアウト
ユーザー情報の取得
コントローラーで、認証済みのユーザー情報を取得する場合には、下記のようになります。
1 2 3 4 5 6 |
use Auth; Auth::user(); Auth::user()->id; Auth::user()->name; |
blade で利用する場合は、下記のようになります。
1 2 |
{{ Auth::id() }} {{ Auth::user()->name }} |
ログイン済みのチェック
ログイン済みをチェックする場合には、下記のようになります。
1 |
Auth::check(); |
ログイン判定のディレクティブについて
1 2 3 4 5 6 7 |
@auth <p>ログイン済みの情報表示。</p> @endauth @guest <p>ログインをしていない情報表示。</p> @endguest |
認証ページの追加について
認証ページを追加する場合には、 web.php に下記のように追加します。
1 |
Route::get('/sample', [ SampleController::class, 'index'])->middleware(['auth']); |