【Laravel】ルーティングについて2
こちらの記事は以下の書籍を参考に執筆しました
ルート情報の追加
ルート情報はweb.php
に追加します。
Route::get('hello', function () {
return '<html><body><h1>Hello</h1><p>this is sample page.</p></body></html>';
});
このように記述した後php artisan serve
を実行します。
その後http://localhost:8000/hello
にアクセスするとこんな表示がされます。
HTML出力
Router::getの第2引数の関数のreturnでHTMLを渡すとそのまま表示されます。
function(){
return '.........HTMLのソースコード.........';
}
ヒアドキュメントを使う
もちろんPHPで長文テキストを記述するのに使われるヒアドキュメントでも記述できます。
ルートパラメータの利用
Route::getではアクセスするときにパラータを設定して値を渡すことができます。
Route::get('/○○/{パラメータ}',function($受け取る引数){...});
{パラメータ}に指定したものがそのまま引数取りして取り出せます。
例
Route::get('hello/{msg}', function ($msg) {
$html=<<<EOF
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>hello</h1>
<p>{$msg}</p>
</body>
</html>
EOF;
return $html
});
こう書いて
http://localhost:8000/hello/this_is_test
にアクセスするとこうなります。
上の例では第1引数のパラメータは1つですが、複数でも可能です。
Route::get('hello/{id}/{passwd}', function ($id,$passed) {}
このパラメータ部分を省略してアクセスするとエラーになります。
パラメータを付けなくてもいい方法として任意パラメータがあります。
任意パラメータはパラメータの末尾に?
をつけます。
Route::get('hello/{msg?}/', function ($msg='no message') {}
つまりこうです。
パラメータの末尾に? が |
種類 |
---|---|
ある | 任意パラメータ |
ない | 必須パラメータ |
Author And Source
この問題について(【Laravel】ルーティングについて2), 我々は、より多くの情報をここで見つけました https://qiita.com/oouaioi/items/d4a4e0ae6cbfb3d123de著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .