2

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

ZF で同じ設計を実現するにはどうすればよいですか? または、管理セクションを作成するためのベスト プラクティスはありますか?
ルーターレベルでそれを行うべきですか(URLに「admin」がある場合は、別のindex.php/bootstrapファイルを使用します....)
最も簡単なのは、すべての管理用にコントローラーを使用することだったと思います。しかし、私はそれが多すぎます。そのため、通常のアプリコントローラーと並んでいくつかの管理コントローラーがあります。コントローラーのディレクトリがめちゃくちゃになります - どのコントローラーが管理者で、どれがそうでないのですか?

4

3 に答える 3

4

私はモジュールとしてそれをやった。Brett Bender によって提供されたモジュール リンクに加えて、私が提供したリンクのセクション 12.3.2.2 を参照してください。

于 2009-04-26T03:17:47.823 に答える
0

私は通常、管理システム全体のために、独自のコントローラーとビュー ディレクトリ、および静的コンテンツ用のパブリック ディレクトリを備えた別の「アプリケーション」フォルダーを作成します。管理者は通常、アクセス管理などの重要事項についてさまざまな要件を持っており、他の多くの点で実際のアプリケーションとは異なる場合があります。したがって、ソース コードを完全に分離することをお勧めします。ただし、一部のソース コードは依然として一般的です。例には、ライブラリ フォルダーやデータベース モデルが含まれます。

このアプローチにより、管理ユーティリティを使用できる場所を決定する際の柔軟性も高まります。apache alias directice を使用して、同じドメインのサブディレクトリに配置するか、別の vhost に配置できます。それはすべてあなた次第です。

于 2009-04-26T01:49:21.000 に答える
0

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

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

于 2009-04-26T02:42:45.567 に答える