2016-03-28 9 views
0

ルーメンでカスタムクラスを使用したい場合は、どこに配置する必要がありますか? Laravelの公式文書では、application structure,service containerまたはpackage developmentのいずれにも言及していません。実際、私はその文書がある範囲にかなり混乱していると感じました。私のパッケージをルーメンフレームワークに配置する場所

例えば、私は私がInvitationServiceProviderでこのクラスを登録する必要が知っている、Invitationと呼ばれるサービスを設定したいが、どこで、実際のクラスが存在する中でInvitation.phpを置く必要がありますか?このパッケージはいくつかの特定のアプリケーションで使用されているため、私はそれを作曲家のpackagistに入れたくありません。

ところで、Lumen Frameworkのバージョンは5.2です。

+1

Laravelは、各プロジェクトが異なっていないと何がありますので**故意**任意のルールを強制することはありません** 1つのサイズはすべての**に適合します。だから私のアドバイスは、アプリケーションの文脈であなたに合った方法でクラスや他のコードを配置してグループ化することです。 [Application Structure Documentation](https://laravel.com/docs/5.2/structure)は実際に次の文で始まります:_ "デフォルトのLaravelアプリケーション構造は、大規模な小さなアプリケーション "_。それは単なる出発点に過ぎず、残りはあなた次第です。 – Bogdan

+0

どこから始めるのが本当に混乱している場合は、次の点を考慮してください。関数によってのみ物事をグループ化する人がいるので、すべてのモデルは 'モデル'ディレクトリに、イベントリスナーは 'listeners'ディレクトリに入ります。クラスがたくさんある大規模なモジュールをお持ちの場合は、それらをグループ化することができます([アプローチするための一方法](http://bit.do/bTdej))。どこに置くのかは、多くのプログラマーにバグがあり、私のクラスに適切な名前を付けて([SomeManager'、 'SomeService'などに注意してください)(http://bit.do/bTdeq)それらをグループ化して構造化する。 – Bogdan

答えて

1

だから、最終的に私はappServiceという名前のフォルダを作成し、すぐ内側のすべてのライブラリを引っ張る...

+0

私は同じアプローチを使用しています。しかし、プライベートレポジトリの使用を検討しているので、プロジェクト固有のクラスにpackagistを使用することは避けてください。 – Mjh

+0

はい、私が入れたいのは、データを暗号化するためのカスタムメソッドのようなシンプルなコードだけであり、静的なクラスファイルで十分です。私は、サービスプロバイダやカスタムビューなどの複雑なパッケージを使用する必要がある場合に、私用リポジトリを使用することを検討することがあります。 –

関連する問題