3

誰かが ZF2 のディレクトリ構造の最適な構成を提案できますか? たとえば、私は持っています:

  • いくつかの Controller ヘルパー、
  • カスタム ビュー hwlpers
  • PHPExcel などの追加ライブラリ
  • カスタムクラス
  • 認証、ACL クラス
  • イベントハンドラなど

したがって、これに最適な(よく読まれた)ディレクトリ構成はどれですか。

4

1 に答える 1

4

アプリケーション構造とモジュール構造の 2 つの構造があります。

アプリケーション

アプリケーションのデフォルトで推奨されるディレクトリ構造は次のとおりです。

config/
  autoload/
module/
public/
vendor/

config/application.config.phpファイルがあり、config/autoloadディレクトリ内には、モジュール固有の構成をオーバーライドするアプリケーション固有の構成があります。

ディレクトリ内に、module/すべてのアプリケーション モジュールを配置します。サードパーティのモジュールを使用するか、再利用可能なモジュールを作成した場合は、それらをvendor/ディレクトリ内に配置することをお勧めします。そうすれば、アプリケーション固有のモジュールと非アプリケーション固有のモジュールを明確に区別できます。

public/あなたのウェブルートです。そこに があり、そこにindex.phpスタイル、スクリプト、およびその他のアセットを配置できます。

: 完璧な例は、ディレクトリPHPExcel内にvendor/ディレクトリを持つことです。

モジュール

モジュールには、次のようなデフォルトの推奨構造があります。

MyModule/
  config/
  src/
    MyModule/
      Controller/
        Plugin/
      Form/
      Service/
      View/
        Helper/
  view/

すべての php コードはsrc/. PSR-0src/標準に準拠しているため、トップの名前空間 ( ) がディレクトリ内で繰り返されます。このディレクトリの下に、すべてのモジュール コードがあります。MyModulesrc/

Zend Framework 2 のヘルパー ( ) と同様に、それらをディレクトリZend\Mvc\Controller\Plugin\SomePlugin内に配置します。Controller/Pluginビュー ヘルパーの場合も同じです: 同様に、ヘルパーをディレクトリZend\View\Helper\SomeHelper内に配置することをお勧めします。View/Helper

次に、「カスタム クラス」、「auth、acl クラス」、および「イベント ハンドラーなど」が残ります。これは、彼らが行う仕事に大きく依存します。Listeners/モジュールソースに、イベントリスナーが配置されているディレクトリがある場合があります。ACL と認証もディレクトリ内Auth/に格納できます。Acl/それはケースによって異なります。ここでは、PSR-0 に従い、ソースがモジュールにカプセル化されていることが最も重要です。

于 2012-11-07T15:11:41.913 に答える