ZFベースのアプリケーションで管理セクションを作成するためのベストプラクティス

StackOverflow https://stackoverflow.com/questions/790086

質問

すべての大規模なアプリケーションではADMINセクションがあります。
ZFを使用しない場合、このようなケースでは、私は通常(.htaccessファイルベースの認証および/または2番目のログインなどを追加するなどの)余分なセキュリティ対策を別のディレクトリ内のすべての管理者のものを置きます。また、これは何が何であるかを、ファイルのファイルツリーに、それはかなり明白になります。

どのように私はZFで同じデザインを達成することができますか?または管理セクションを作成するための任意のベストプラクティスがありますか?
私は、ルータレベルでそれを行う必要があります(URL内の「管理者」がある場合、私は別のindex.php /ブートストラップファイルを使用します....)
私は最も簡単なだけで、すべての管理者のもののためのコントローラを使用していたと思いますが、私はそれのあまりを持っています。だから私は、通常のアプリコントローラと並んで、いくつかの管理コントローラ側を持っています。それは私のコントローラディレクトリに混乱を作る - ?コントローラはadminとされていません。

役に立ちましたか?

解決

全体の管理システムのために - 独自のコントローラとビューディレクトリだけでなく、静的なコンテンツの公開ディレクトリとの完全な -

私は一般的に別の「アプリケーション」フォルダを作成します。投与は、通常、このようなアクセス管理などの主要なもののために異なる要件を持ち、他の多数の方法で、実際のアプリケーションとは異なる場合があります。したがって、私はそれが完全にソースコードを分離するために良いアイデアだと思います。ソースコードのいくつかは、まだかかわらず、一般的なことができます。例としては、ライブラリフォルダとデータベースモデルを含めます。

管理ユーティリティが利用可能であるべき場所を決定する際に、

このアプローチはまた、あなたのより大きな柔軟性を提供します。あなたは、同じドメイン上のサブディレクトリにそれを置くためにApacheのエイリアスdirecticeを使用するか、または別のバーチャルホスト上に置くことができます。それはすべてあなた次第です。

他のヒント

私はモジュールのようにそれをやりました。ブレット・ベンダーによって提供されるモジュールのリンクに加えて、私が提供されたリンクセクション12.3.2.2を参照してください。

あなたはZFでモジュールを使用してチェックアウトする必要があります。あなたは、管理のすべてを含むように、管理者以外のもの、および管理モジュールを含むように、デフォルトのモジュールを持つことができます。あなたの現在のURLと管理モジュールのURLを変更しませんデフォルトのモジュールを使用すると、server.com/admin/controllername/actionname/paramsのようになります。これは、すべてが同じ場所にいると雑然となって、あなたのコントローラを解決します。また、あなたはZend_Controller_Actionをサブクラス化し、共有機能を維持するために、あなたのモデルでMaster_Controllerを作ることができます。それからちょうど共有管理機能のためのマスタコントローラを拡張Admin_Controllerを作成し、あなたの管理者モジュールサブクラスその内のすべてのコントローラを持っています。あなたは他のモジュール(複数可)で共有管理者以外の機能を整理するために同様の構造を使用することができます。

Zend Frameworkの - モジュラーディレクトリ構造

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top