ZF2スケルトンに基づいて、新しいプロジェクト用に新しいZF2アプリケーションのセットアップを開始したばかりで、モデルに関するチュートリアルを見ています。
tl; dr:モデルをより高いレベル(/ moduleの外側)のどこかに配置して、複数の異なるモジュール間でモデルを共有するにはどうすればよいですか?
次のようにいくつかのモジュールを設定します。
/
/module/ModuleName
/module/ModuleName/config
/module/ModuleName/src
/module/ModuleName/src/ModuleName
フォルダを設定しようと/module/ModuleName/src/ModuleName/Model/TableName.php
していましたが、他のモジュールでもそのテーブルにアクセスする必要があることに気付きました。だから私は何をすべきですか?
Modelsフォルダーを配置する必要がありますか、/module/Model
それともモジュールとして扱われることになります。つまり、site.com / model(現在の構成に基づく)。
モデルをコピーして場所間で貼り付ける必要がありますか?/vendor/library/Company/Model
モデルをどこかに貼り付ける必要がありますか?このためのベストプラクティスがあるかどうかはよくわかりません。
質問2:チュートリアルでは、ServiceManagerを使用して、同じインスタンスを使用するようにデータベースモデルをインスタンス化することも提案しています。5つのコントローラーを備えたモジュールがあり、各コントローラーが完全に別々のテーブル(たとえば、それぞれ4つのテーブル)にアクセスしている場合はどうなりますか?(そのモジュール内の他のコントローラーの場合)ページの読み込みごとに16個のテーブルを冗長的に初期化するように思われます。単一のテーブルの初期化により、ページロードに55ミリ秒が追加されます。これを回避する方法はありますか?チュートリアルがテーブルゲートウェイを初期化するために行うことに基づいて、構成をコントローラーのアクションに移動する方法がわかりませんか?