##はじめに
laravel学習をしていて学んだことをまとめてみました。
認識違いなどありましたらご指摘いただけると幸いです。
#ルーティング
→アクセスしたアドレスを元に処理を割り振ること。
Laravelは各ファイルごとブラウザに表示されるわけではなく、アドレスに割り付けられたプログラムの実行によって表示される?ため。アドレスに対しての処理をそれぞれ関連付ける必要がある。
▼routesフォルダ
ルーティングについて取りまとめているフォルダ。
・web.php※→ 一般的なwebページとしてアクセスさせるためのルーティング(関連付け)
・api.php→API機能の割り振りなど
・channels.php→ブロードキャストチャンネルのため??
・console.php→コンソールプログラムのため??
##各ファイルの解説(※今回はweb.phpのみ)
▼web.phpとは
・概要
ブラウザにリクエストがあった場合に指定のファイルに誘導させることができる、アクセス処理を司る。
・使い方
Route::get('①アドレス', ②処理→function(){
return ③view('ファイル名');});
//view()とは・・・指定したファイルをレンダリング※1すること
//ここに①がリクエストされた時に②の処理をするよという命令を行える
viewファイルの中身をview関数で呼び出して表示させている
#コントローラ
→ルーティングによって実行される処理。アプリケーションの処理を「MVC」の3つの要素の組み合わせとして構築していく。
・Model→DBアクセスの処理全般
・View→画面表示を担当
・Controller→全体の制御を担当。viewやModelがないと機能しない。
Laravelの開発は”Controller”を作成することからはじまる
##welcom.blade.phpの中身
Bladeとは@ではじまるコード?
▼ルートパラメータの利用
・使い方
(例)
『https://OO/hello/sample』にアクセス
Route::get('hello/{設定したいパラメータ名}',function($パラメータを取得したい変数){
$パラメータを取得したい変数に’sample’が代入される
・任意パラメータ
Route::get('hello/{○○?}〜
パラメータに”?”をつけることで任意パラメータとなり、パラメータ(url)を付けなくてもブラウザに表示される
・ルートパラメータを使うメリット
ここはまだ理解できていません。。
▼コントロ-ラの作成からアクション実行まで
①ターミナルにartisanコマンドにてコントローラを作成
#ターミナル
$php artisan make:controlle コントローラ名(○○Contorollerとつけるのが常識らしい)
②アクションの追加
#App\Http\Controllers\○○Contoroller.php
class ○○Contoroller extends Controller
{
public function アクションメソッド {
return アクション内容 ;
}
}
③アクションの実行
#web.php
Route::get('hello','App\Http\Controllers\○○Contoroller@アクションメソッド名');
▼アクションとアドレスの関係
基本的にはアドレスとコントローラまたはアクションの関連は以下のように対応させるのが一般的
http://アプリアドレス/コントローラ/アクション
▼シングルアクションコントローラ
1つのコントローラに対して、1つのアクションだけしか用意しないというような設計をすることがある。この場合には「シングルアクションコントローラ」としてクラスを用意する。
#○○Controller.php
class コントローラ extends Controller{
public function __invoke(){
アクション処理
}}
//_invokeメソッドをしようして処理を実装するだけ
#web.php
Route::get('アドレス','コントローラ名');
//ルート情報を設定は アクションの指定はせずコントローラを設定するだけ、
・メリット
→__invoke ならこのコントローラーではこれ以外のことはしないと分かりやすい。単一アクションの方が可読性が上がるから?
##不明だった用語
※1レンダリング
→表示用のデータをもとに、内容を整形して表示すること
▼スクリプト
→書いて、すぐ実行できるプログラムのこと
▼ヒアドキュメント
→<<< EOM〜文章〜EOM;の間に書いたHTMLは改行を自動で行ってくれる。長い文章に有効
ファイル単位で表示するか処理単位で表示、処理されるかの違い。そのため処理の関連付けを行うことがルーティング。ファイル数を減らせることがメリット?
▼パラメータ
→URLの後ろにつく「?」以降の文字列