Laravelを動作させるにはPHP、MySQL(MariaDB)、Composerなどが必要です。
以下のコマンドでLaravelをインストールします。
>composer global rewuire laravel/installer
Windowsで新規アプリを作成するにはディレクトリを移動し、以下のコマンドを実行します。
>laravel new quick-laravel
この場合、quick-laravelフォルダが作成され、その配下にLaravelが構成されます。
XServerで構築する場合はPHPバージョン8に合わせるため、以下のようなコマンドを実行します。(2022/06/06時点)
$ composer global config platform.php 8.0.16
$ composer create-project "laravel/laravel=8.*" sample-project --prefer-dist
$ ln -s /usr/bin/php8.0 $HOME/bin/php
コントローラ(app\Http\Controllers)
モデルを呼び出し、ビューに反映させる。検証を実行する。
戻り値は以下
・response([text [,status [,headers]]])の戻り値Responseクラス。
・view()の戻り値。
・redirect()の戻り値。
引数にはRequestオブジェクトとルートパラメーター、URL引数がある。
セッション(config/session.php)
保存先にはファイルやデータベースなどがある。
ファイルで保存するなら/storage/framework/sessionsディレクトリに保存される。
読み書きはコントローラーで行う。
一般的には、ブラウザを開いてから閉じるまで情報を保持できる。
ミドルウェア(app\Http\Middleware)
アクションメソッドの前後で付随的な処理を行う。
前処理ではweb.php、後処理はコントローラで行う。
ルーター(routes\web.php)
HTTPメソッドを処理する。put,patch,delete,optionのほか、redirect,fallback,any,view,resourceがある。
resourceメソッドはGET:index, GET:show, GET:create, POST:store, GET:edit, PUT/PATCH:update, DELETE:destryをまとめて定義する。
ビュー(resources\views)
BladeテンプレートにPHPスクリプトを埋め込む。
@で始まるディレクティブで条件分岐やループなど特別な指示を行う。
@extendsディレクティブは共通レイアウトを宣言し、@sectionでコンテンツを組み込む。
検証によるエラーを表示する。
モデル(app\Models)
データベースのテーブル定義を表現する。
リレーションを設定できる。
コントローラーで使われるfillメソッドを$fillable許可、検証ルールを追加する。
マイグレーション
テーブルレイアウトをスクリプトで表し、コマンドから実行する。
また、テストデータや初期データをシーダーで投入することができる。
設定ファイル(/config配下)
データベース定義ファイル(database.php)
設定ファイル(.env)
環境設定。データベース設定などを開発用、本番用などで分ける
Route メソッド | path | action |
---|---|---|
get | create | create |
(list) | list | |
{id}/edit | edit | |
{id} | show | |
post | store | store |
patch | {id} | update |
delete | {id} | destroy |
$ mysql -h 183.90.242.206 -u cpage_quickusr -p
(SQLユーザーのパスワードを入力)
MySQL [(none)]> USE cpage_quicklaravel;
Database changed
MySQL [cpage_quicklaravel]>
ルーターbackground-color: rgb(197, 219, 252); class="router"
コントローラー background-color: rgb(252, 230, 197); class="controller" ミドルウェアを含む
モデル background-color: rgb(252, 197, 197); class="model" マイグレーションを含む
ビュー background-color: rgb(197, 252, 226); class="view"
コマンド color:white; background-color: black; class="cmd"
黄色出力 color:yellow; class="cmdyellow"
設定 background-color:rgb(218, 218, 218); class="setting"