laravel説明メモ 2021.10.30

この記事は約3分で読めます。
スポンサーリンク
スポンサーリンク

権限について

AuthServiceProvider の boot() で定義

定義の方法は、

Gate::define(‘ゲートの名前’, function($user) {

return 判断結果;

}

 

使うときは、

・コントローラのコンストラクターで $this->middleware(‘can:ゲートの名前’);

・コントローラのメソッドで、$this->authorize(‘ゲートの名前’);

 

・権限は、ゲートの名前が存在しないとき、権限エラー403になる。

権限のfunction内に、dd($user) を書いて、デバッグ表示されなかったら呼ばれてない。

例えば

Gate::define(‘ゲートの名前’, function($user) {

dd($user);

return 判断結果;

}

と書いて、

$this->authorize(‘ゲートの名前aa’);

のように、呼び出しの名前が間違えていたときの判断にddが使えます。

 

管理者ページのユーザ一覧

ユーザ一覧だけでなく、詳細表示したり、編集などする予定があるときは、コントローラを追加するのが良い。この場合、UserController を作成するのが良い。

 

・laravelの設計方針として、リソースコントローラがあるので利用するのが、機械的に作れて便利。

一覧(index)、詳細(show)、作成(create)、保存(store)、編集(edit)、更新(update)、削除(destroy) の7つの動作を利用できる。

URLやルートの名前も自動で作成するのが良い。

・web.php には、

Route::resource(‘user’, ‘UserController’);

で一気に作成可能。

・コントローラ作るときはモデルを指定してリソースコントローラを作成する。

php artisan make:controller UserController -r -m User

-r はリソースコントローラ、-m はモデルを指定

覚えてないときは、php artisan make:controller -h と、-h オプションでヘルプを見ると良い。

ビュー

viewファイルの中で複雑な条件分岐などをつけない。

コントローラでできる部分、モデルでできる部分は、そっちに処理を書いて、viewファイルは簡略化してかけるようにします。

・carbon format

$left = new Carbon($user->created_at);

のとき、

$left->format(‘Y/m/d H:i:s’);

で、文字列で年月日 時分秒が取得可能。

 

 

 

 

この記事が気に入ったら
いいね ! しよう

コメント