DAY2~5 コントローラーの基本・ルーティングからアクションを呼び出す・phpテンプレートに変数を渡す

スポンサーリンク

コントローラーは処理するところ

機能のまとまり、みたいなもんかな。

php artisan make:controller コントローラー名

でコントローラーを作れる。

MVCでいうと

Model = DBとのやり取りするところ

View = 画面

Controller = 処理

って感じよね。

ルーティングは(‘アドレス’, ‘コントローラー名@アクション名’)でやる

Route::get(‘hello’, ‘HelloController@index’);

ってかく。

そうすると、

http://andotadao.com/hello

ってアクセスされたときに

HelloControlerのfunction index()を見に行く

みたいな感じ。

コントローラーの中には複数のアクションを書けるよ。

シングルアクションコントローラーは__invokeをつかってもよい

コントローラーの中に普通にfunction index()って書いてもいいんだけど、例えばコントローラーの中に一つしかアクションが無いような場合は

public function __invoke() {もろもろの処理}

ってしてもいいらしい。

そうするとルーティング側に書くのが

Route::get(‘hello’, ‘HelloController’);

的に、コントローラー名を書くだけで良くなるんだって。

Request と Response の情報使えるよ

コントローラーの冒頭に

use Illuminate\Http\Request;

use Illuminate\Http\Response;

って名前空間を合わせて、

そのあとアクションの引数にRequestとかResponseって書けば、アクセスしたURLとかユーザーエージェントとか返せるんだって。

とりあえず使いみちがわからんけど、そんなものがあったくらいに理解しておこう。

きっと後で使うはず。

「->」アロー演算子知らんかった。変数の中の特定の値を抜き出すのに使うんだって

$request->fullUrl();

とかやるとアドレスが完全な形で帰ってくるらしい。

https://www.flatflag.nir87.com/arrow-249

このサイトの説明がとってもわかりやすかった。

viewも始めたよ。view(‘フォルダ名’, ‘ファイル名’)やで

Laravelのviewは一箇所にまとまってつくる。

作るときはコントローラーごとにフォルダを作るのが慣例なんだって。

view(‘hello’,’index’)

ってかいたら、helloフォルダのindex.phpを読んでくれるらしい。

ちなみにview()を使うと

resources フォルダ > viewsフォルダ

の中身を勝手に見に行ってくれるらしい。便利。

Laravel入門の39→64ページまで進んだ

引き続きがんばろ。

スポンサーリンク