YII后端实现

时间:2012-09-18 13:16:14

标签: php configuration yii directory-structure yii-modules

我在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

访问

一个解决方案是 设置'controllerPath'=> $ frontend。'/ controllers' 但现在我松了后端控制器。 那么当我调用控制器时,首先它会查看后端控制器,然后查看前端控制器(如果在后端控制器中找不到的话)?

1 个答案:

答案 0 :(得分:1)

就个人而言,我喜欢将后端(安全登录)与前端完全分开,即:完全不同的项目。通过这种方式,可以使用隐藏的子域来访问您的后端,例如hidden-admin.my-domain.com

如果您想共享代码,如上所述,请使用组件或小部件。