Contents(目次)
コントローラーは処理するところ
機能のまとまり、みたいなもんかな。
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ページまで進んだ
引き続きがんばろ。