LoginSignup
0
0

More than 1 year has passed since last update.

ルーティングについて(Laravelでウェブアプリを作ろう)

Last updated at Posted at 2021-05-08

ルーティングとは

特定のアドレスにアクセスした時、どの処理を呼び出して実行するか。それを管理するのが「ルーティング」です。実際の処理が記載されているというよりあくまでどの処理かの紐付けを行なっているだけです。具体的に実行すべき処理は「コントローラー」に記載されています。

前提条件

プロジェクトの作成が終わっている状態
まだ作成できていない方はこちら

実際のアプリでは

プロジェクトの作成が完了すると以下のコマンドでサーバーを立ち上げてアプリを使うことができます。

サーバーの起動(ターミナル)
php artisan serve

実行後に表示されるURLをブラウザで開くとLaravelのページが表示されると思います。
これはアプリ内のresouces/views/welcome.blade.phpが表示されている状態です。
このファイルを開く、という指定はroutes/web.php内に記載されています。

デフォルト(routes/web.php)
<?php
use Illuminate\Support\Facades\Route;

//ここで「welcome」の指定がある
Route::get('/', function(){
    return view('welcome');
});

view関数で指定することで、自動的にresouces/views内のファイルという指定がされるというわけです。
例えば、view関数でファイルを分けずにweb.php内に直接htmlを記述することも可能です(本来はこういう使い方をすることはないが、動きの理解として。)

view関数を使わずにべた書き(routes/web.php)
Route::get('test', function () {
   return '<html><body><h1>Hello</h1><p>This is sample page.</p></body></html>';
}

サーバーの起動後http://localhost:8000/testに接続すると記述した内容が表示されていることがわかる。

他にリクエストされた時のパラメーターを利用する方法もある。

必須パラメーターの利用(routes/web.php)
Route::get('test/{str}', function ($str) {
   return '<html><body><h1>Hello</h1><p>This is sample page.</p><p>{$str}</p></body></html>';
}

サーバーの起動後http://localhost:8000/test/好きな単語に接続すると好きな言葉に記載した内容が表示されていることがわかる。上記のパラメーターは「必須パラメーター」というもので記載しないとエラーになります。対して「任意パラメーター」の書き方は以下のように「?」をつけるデフォルト値を設定するだけです。

任意パラメーターの利用(routes/web.php)
Route::get('test/{str?}', function ($str='no contents.') {
   return '<html><body><h1>Hello</h1><p>This is sample page.</p><p>{$str}</p></body></html>';
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0