サービスプロバイダーのファイル名迷う
インターフェースの実装のためにbindとか、サービスプロバイダーでいろいろやることはあると思いますが、
全部AppServiceProviderのみにするかとか迷いますよね。
で、PHPユーザー会の方に質問したら、わかりやすい説明いただきました。
3パターンに分ける
1. bindの設定数が少ない場合 AppServiceProviderのみ 2. bindの設定数は少ないが処理の重さが気になる場合 → 利用頻度が高いものと低いものに分ける 多くのAPIで利用されるもの → AppServiceProvider 特定のAPIでしか利用しないもの → DeferredAppServiceProvider (プロパティの$deferred=true) 3. 規模が大きいので整理したい場合 → パッケージやドメインごとに切る 特定のAPIでしか利用しないようなパッケージのServiceProviderは$deferred=trueにする -XXXServiceProvider -YYYServiceProvider -AppServiceProvider(パッケージに分類できなかったものなど
別な方からも別パターンをもらいました。
用途で分ける
処理での、用途を分けることで、迷わなくする。
例えば、RepositoryInterfaceをbindするときは、 RepositoryServiceProvider
というファイル名。
これで、どのファイルに書くか迷いませんね。
最後に
質問に答えてくださった方、ありがとうございました・・・!
かなり迷っていたので助かりました。
今は2.を実装しましたが、今後整理されていくと、用途に応じてファイル名が変わりそうです。
このおかげで次回から迷わずに済みそうです、ありがとうございました!