
サイト全体を認証(ログイン必須)サイトにする
Laravelのサイト(コンテンツ)がログインをしないと閲覧できないように設定していきます。
リダイレクト先の変更
Login、Register(ユーザ作成)後のリダイレクト先はhttp://localhost:3000/homeとなっています。URLの末尾の/home
を外してTOP
へリダイレクトするにはapp/Providers/RouteServiceProvider.php
とroutes/web.php
を編集します。
app/Providers/RouteServiceProvider.php
‘/home’ から ‘/’ に変更するだけです。
ルーティングの変更
routes/web.php
読みやすいようにuse App\Http\Controllers\HomeController;
を追加しているところに注意。
ログインしていない状態でhttp://localhost:3000/にアクセスするとhttp://localhost:3000/loginにリダイレクトされている事が確認できます。

カードレイアウトをコンポーネント化する
よく使うテンプレートをコンポーネント化します。コンポーネント化することで効率よく無駄なくテンプレートを構築することができます。
php artisan make:component Card/Card
make:component
コマンドを入力すると2つのファイルが生成されます。それぞれ以下のように編集を加えます。
resources/views/components/card/card.blade.php
slot
の中にコンテンツが入ります。
app/View/Components/Card/Card.php
コンポーネントファイルをhome.blade.phpテンプレートへ読み込ませます。
resources/views/home.blade.php
http://localhost:3000/の画面はこのような状態になっています。

ルート全体を要認証にする
Route::middleware(['auth'])->group(function ()
で囲むことでルート全体を認証化させることができます。
HomeController.php
のmiddleware('auth')
は不要になりますので以下のコードは削除します。
public function __construct() { $this->middleware('auth'); }
app/Http/Controllers/HomeController.php