LaravelのRoute::getって何?【PHP Laravel】

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変数を参照し、その値を返すことができます。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です