Laravelをセットアップすると、最初に謎の「welcome」がある。
Route::get('/', function () {
return view('welcome');
});
Route::get
Route::getは、ウェブサイトの特定のページに誰かがアクセスしたいときに使う道案内のようなものです。例えば、家に帰るときに使う道を考えてみてください。Route::getは、その「道」と「家」の関係に似ています。
-
Route::get(‘/’, …);の‘/’は、「家」の住所のようなものです。この場合、ウェブサイトの一番最初のページ(ホームページ)を指しています。
-
ウェブサイトにはたくさんのページがあるかもしれませんが、‘/’は最初のページ、つまり「ホームページの住所」を示しています。
view
viewは、その「家」の中をどう装飾するかを決めるものです。ウェブサイトで言えば、ページの見た目や内容のことです。
-
view(‘welcome’)は、welcomeという名前のページのデザインや内容を指します。この場合、「welcome」という名前のページ(またはテンプレート)を使って、ユーザーに何かを表示しようとしています。
まとめると
-
Route::get(‘/’, …);は、「ウェブサイトのホームページに誰かが来たときに、この指示に従ってください」と言っています。
-
view(‘welcome’);は、「ホームページの訪問者には、”welcome”というページの内容を見せてあげてください」と言っています。
つまり、このコードは「ウェブサイトのホームページに誰かが訪れたら、”welcome”というデザインのページを見せてあげてね」という指示をしているわけです。
HTMLを埋め込むこともできる。
以下のコードを追加してみる。
$html = <<<EOF
<html>
<head>
<title>Hello</title>
<style>
body {font-size:16pt; color:#999; }
h1 { font-size:100pt; text-align:right; color:#eee;
margin:-40px 0px -50px 0px; }
</style>
</head>
<body>
<h1>Hello</h1>
<p>This is sample page.</p>
<p>これは、サンプルで作ったページです。</p>
</body>
</html>
EOF;
Route::get('hello',function () use ($html) {
return $html;
});
use ($html)とは
-
クロージャ(無名関数): このコードでは、function () { … }がクロージャ、つまり名前のない関数を定義しています。クロージャは、その場で関数を定義し、変数に代入したり、直接実行したりすることができます。
-
スコープの「インポート」: 通常、クロージャ内部では外部の変数を直接参照することはできません。use ($html)は、クロージャの外部に定義された$html変数をクロージャの内部に「インポート」するための構文です。これにより、クロージャ内部で外部変数を使用できるようになります。
このコードがすること
-
$html = <<<EOF … EOF;は、ヒアドキュメント構文を使って、HTMLコンテンツを文字列として$html変数に格納しています。このHTMLは、ウェブページの基本的な構造を持ち、「Hello」と表示するシンプルなページです。
-
Route::get(‘hello’, function () use ($html) { … });は、ウェブアプリケーションの/helloというパスにGETリクエストが来たときに、上で定義した$html変数の内容をレスポンスとして返すルートを定義しています。use ($html)を使うことで、このクロージャ内で$html変数を参照し、その値を返すことができます。
コメントを残す