1

PHPプロジェクトの1つにZFを使用することにしました。しかし、自分のサイトに管理モジュールを追加する方法と非常に混乱していますか?このような記事(http://www.amazium.com/blog/create-modular-application-with-zend)や他の多くの記事を読みました。彼らはこれを行う別の方法を提案しています。Zendからの標準的なアプローチはありますか(ほとんどすべてのサイトで管理モジュールが必要なことを知っていると確信しています)??

または、デフォルトのzendフレームワークプロジェクトに管理モジュールを追加する方法について、ステップバイステップガイドを提案してください。

ところで:私はIDEとしてzend studio 9.0を使用しています(それが重要な場合)。

4

1 に答える 1

3

ZF 1.11を想定します:

application.iniで、これらの行がここにあることを確認してください(少しやり過ぎかもしれませんが、機能します)。

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.params.prefixDefaultModule = ""
resources.modules = ""

パスは次のようになります。

/application
    /configs
    /controllers
    /forms
    /layouts
    /models
    /modules
        /admin
            /controllers
            /models
            /forms
            /views
                /filters
                /helpers
                /scripts
       Bootstrap.php //in your admin folder bootstrap extends Zend_Application_Module_Bootstrap
    /views
Bootstrap.php //application level bootstrap
/docs
/library
/public

ブートストラップ以外のパス要件は、ZFToolコマンドを実行することで実現できます。zf create module admin

覚えておくべき本当に重要なことは、各モジュールのルートにBootstrap.phpファイルが必要であることです。これにより、(とりわけ)オートローダーが容易になります。

<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
    //put your code here
}

モジュールのブートストラップに必要なのはこれだけです。

[編集]コントローラー(管理者など)の異なるレイアウトを選択(2番目のレイアウトを作成)するには、各コントローラーで簡単な方法があります。

public function preDispatch() {

        $this->_helper->layout->setLayout('admin');
    }

多くのコントローラーで多くのレイアウトを変更する必要がある場合は、コントローラープラグインが必要になる可能性があります(私の経験分野ではありません)。

于 2012-04-22T08:13:30.430 に答える