B3S
menu close

Laravel

Laravelの共通化に便利な機能まとめ


Uga

更新日:2024/06/18


Laravelでのシステム開発を学んでから約1年経過し、

コードの共通化による可読性の向上と、保守性の向上に力を入れれるようになってきました。

まだまだ使いこなせてはいないですが、これから共通化に使えそうな機能をまとめてみました。

 

@include

別のビュー内からBladeビューを読み込めます。親ビューで使用できるすべての変数は、読み込むビューで使用できます。

※引用:https://readouble.com/laravel/8.x/ja/blade.html

 

追加でデータを渡すこともできる。

 

ViewComposer

アプリケーション内の複数のルートかコントローラが同じビューを返し、常に特定のデータが必要な場合にきわめて役立ちます。

※引用:https://readouble.com/laravel/8.x/ja/views.html

 

・ServiceProviderの作成

 

・Composerクラスの作成

 

・config/app.phpにServiceProviderを登録

 

Scope

ローカルスコープ

アプリケーション全体で簡単に再利用できる、共通のクエリ制約を定義できます。

※引用:https://readouble.com/laravel/8.x/ja/eloquent.html

 

・ローカルスコープの定義

 

・ローカルスコープを使用

※クラス名からscopeを除いて呼び出す

 

グローバルスコープ

特定のモデルのすべてのクエリに制約を追加できます。

※引用:https://readouble.com/laravel/8.x/ja/eloquent.html

 

・カスタムグローバルスコープの作成

 

・グローバルスコープの適用

 

・グローバルスコープの削除

 

・動的な値の設定

Trait

再利用可能なメソッドの集まりを指すPHPの機能のこと。

※引用:https://qiita.com/nanami173/items/051140e66a6f328a59bc

 

継承元が異なるクラスでも使用できるので、コードの重複が減り保守性・可読性の向上につながります。

・Traitの作成

 

・任意の箇所でTraitを使用