こちらの記事は以下の書籍を参考に執筆しました
#ルート情報の追加
ルート情報は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') {}
つまりこうです。
パラメータの末尾に? が |
種類 |
---|---|
ある | 任意パラメータ |
ない | 必須パラメータ |