ルーティングの基本
目次
- 解説
- 1. ルーティングの仕組み
- 2. ホーム画面を作成しよう
解説
1. ルーティングの仕組み
『PHP WEB中級』コースでは、「Dispatcher.php」がアプリケーションのルーティング処理を担当しており、リクエストに応じたコントローラーを呼び出す仕組みでした。
Laravelのルーティング処理は、「routes」フォルダー内の「web.php」ファイルに記述します。
「routes > web.php」ファイルを開いて、プロジェクト作成時に始めから記述されていた下記のコードに注目して、ルーティングの仕組みを確認しましょう。
Route::get('/', function () {
return view('welcome');
});
ルーティングの仕組み
(1) | 「Route::」に続けて、リクエストメソッドの種類(getやpost)に応じたルーターメソッドを記述します。 ※ルーターメソッドには、「get()」や「post()」などがあります。 |
Route::get();
(2) | ルーターメソッドの第一引数に、対応するURLのパスを指定します。下記の例では、「http://localhost/」に、get通信でアクセスした場合のルーティングとなります。 |
Route::get('/');
(3) | ルーターメソッドの第二引数に、第一引数に指定したパスへのアクセス時の処理を記述します。 |
Route::get('/', function () {
// ルーティング時の処理
});
(4) | 「return view('welcome');」とすることで、「welcome.blade.php」ファイルを表示することができます。 view() ヘルパー関数の引数には、「views」フォルダー内の表示したいblade.phpのファイル名を記述します。 ※[ファイル名].blade.php を表示したい場合は、return view('[ファイル名]'); とします。 |
Route::get('/', function () {
return view('welcome');
});
2. ホーム画面を作成しよう
前のページでは、ログイン成功時に「localhost/home」に遷移していましたが、対応するルーティングが存在しないため、404ページが表示されていました。
次の手順で「/home」にアクセス時のルーティングと、表示されるホーム画面を作成しましょう。
手順1
(1) | 「views」フォルダー内に、ログイン成功時に表示されるホーム画面として、「home.blade.php」ファイルを作成してください。 |
(2) | 作成した「home.blade.php」を下記のコードで置き換えてください。 |
<!DOCTYPE html>
<html lang="ja">
<head>
<title>home</title>
<link rel="stylesheet" href="{{ asset('css/style.css') }}">
</head>
<body>
<header>
<div class="container">
<div class="flex_parent">
<div class="logo">
<a href="/">DigTweet
</a>
</div>
<nav>
{{-- Laravelの認証機能でログアウトするには、
URLパス「/logout」に対してpost通信でアクセスします。 --}}
<form name="logout" method="POST" action="/logout">
@csrf
<button type="submit">ログアウト</button>
</form>
</nav>
</div>
</div>
</header>
<main>
<div class="section_inner">
<div class="container">
<h1>ログイン成功!</h1>
</div>
</div>
</main>
<footer class="flex_parent">
<p><small>©2021 Dig Skill</small></p>
</footer>
</body>
</html>
(3) | 「routes > web.php」の最後の行に、「/home」に対してget通信でアクセス時に、「home.blade.php」を表示するコードを記述してください。 ※コードを伏せておくので、余裕があれば自力でやってみましょう! |
ブラウザから http://localhost/home にアクセスし、下画像の画面が表示されることを確認しましょう。また、画面右上のログアウトをクリックしてから、改めて「ログイン実行」 -> 「ホーム画面の表示」の流れを確認しておきましょう。
このページの学習を終えたら、Sourcetreeからコミット・プッシュをおこないましょう。