2011-09-04 16 views
0

私は簡単です...私はZendフレームワークの新作です!Zendフレームワーク - モジュールベースのシステムアーキテクチャ

私は、モジュールで拡張可能なZendを使ってCMSを作成する最良の方法を見つけようとしています。これらはCMSのモジュールであり、必ずしもZend用のモジュールではありません。たとえば、イベント登録モジュール、フォトギャラリーモジュールなどがあります。bootstrap.phpの_initRoutes()ではなく、それぞれのモジュールで独自のURIを定義します。これにより、各モジュールはどのCMSにあるようにも独立したユニットになります。その考えは、モジュールのメインコントローラにURI情報を定義するフックがあり、それがデータベースにキャッシュされ、ルータによって使用されるということです。

いくつかの具体的な質問:

  1. モジュール内の特定のコントローラ/アクションへのルートリクエストモジュールのフロントコントローラ '/メインコントローラに、フロントコントローラのルート要求をすべきか?基本的に、各モジュールにはコントローラ/アクションへの要求のルーティングを担当する独自のフロントコントローラがあります。これを行うためのより良い構造がありますか?
  2. URIを定義するモジュールのフックを使用するよりも良い方法はありますか?

また、私はZendには新しく、基本を理解しようとしています。どんな入力も大歓迎です!

答えて

1

フロントコントローラーは、モジュール内の特定のコントローラー/アクションに要求をルーティングするモジュール 'フロントコントローラー' /メインコントローラーに要求をルーティングする必要がありますか?

いいえ、フロントコントローラは1つだけ必要です。

URIを定義するモジュールのフックを使用するよりも良い方法はありますか?

各モジュールをZFモジュールにすると、モジュール固有のブートストラップクラスを作成できます。各モジュールのブートストラップクラスで、そのモジュールのルートだけを定義する_initRoutes()メソッドを追加できます。

+0

Thats pefect!ありがとう! ZFモジュールの「有効化」または「無効化」についてはどうすればよいですか?また、どうやってテーブルを作成するのか、「インストールする」と「アンインストールする」のどちらを作成するのでしょうか? –

+1

メインブートストラップでは、addModuleDirectory(すべてのモジュールをロードします)を使用する代わりに、addControllerDirectoryを使用して個々のモジュールを追加できます。したがって、どのモジュールをサイト上で使用するべきかを検討し、それぞれのaddControllerDirectoryを呼び出すリストをループすることができます。インストール/アンインストールに関しては、これは追加モジュールの使用を許可する方法と場所によって異なります。 –

+0

応答していただきありがとうございます。私はZFに新しいし、これまでこれを愛する。 –