1

http://www.yiiframework.com/wiki/33/に従ってフロントエンド-バックエンド構造を作成し たので、私の構造は次のようになります。

wwwroot/
    index.php
    backend.php
    assets/
    images/
    js/
    protected/
        config/
            main.php
        components/
        controllers/
        models/
        modules/
        views/
        runtime/
        backend/
            config/
                main.php
            components/
            controllers/
            models/
            modules/
            views/
            runtime/

私のバックエンド構成は

$backend = dirname(dirname(__FILE__));
$frontend = dirname($backend);
yii::setPathOfAlias('backend',$backend);
return array(
    'basePath' => $frontend,
    'controllerPath' => $backend.'/controllers',
    'viewPath' => $backend.'/views',
...
    'import'=>array(
    'backend.modules.rights.*',
    'backend.modules.rights.components.*',
    'backend.models.*',
    'backend.components.*',
    'application.modules.user.models.*',
    'application.modules.user.components.*',
),...

今、私はbackend.php / Discussionのようにフロントエンドからバックエンドでコントローラー、モデル、ビューにアクセスする必要があり 、ディスカッションはprotected / controllers/DiscussionControllerで行われます。これは現在index.php/discussionからのみアクセスできます。

1つの解決策は'controllerPath'=>$frontend。'/controllers'に設定され ていますが、バックエンドコントローラーを失います。それで、コントローラーを呼び出すときに、最初にバックエンドコントローラーを調べ、次にフロントエンドコントローラーを調べる方法はありますか(バックエンドコントローラーで見つからない場合)?

4

1 に答える 1

1

個人的には、(安全なログインを使用して) バックエンドをフロントエンドと完全に分離しておくのが好きです。つまり、完全に別のプロジェクトです。このようにして、hidden-admin.my-domain.com のような非表示のサブドメインを使用してバックエンドにアクセスできます。

コードを共有したい場合は、上で述べたように、コンポーネントまたはウィジェットを使用してください。

于 2012-11-07T15:01:38.087 に答える