2

我是yii的初学者

我创建了一种结构来处理前端和后端的文件,以便公共文件可以用于两者,并且可以从它们的文件夹中使用不同的文件


framework/ (这个文件夹将包含所有 yii 框架核心文件夹和文件) assets/ js/

前端/

常见的/

后端/

api

图片/存储/

受保护/组件/配置

main.php(数据库、电子邮件等...)

控制器/

前端/

后端/

意见/

前端/

后端/

模型/扩展/模块/

运行时/ index.php .htaccess


此结构是为预订应用程序创建的。一些公共文件在它们之间共享,它将在控制器/和视图/中,而不同的文件将在控制器/前端/和控制器/后端/中

示例我在两个文件夹中都有文件,如下所示

控制器/ SiteController.php

前端/SiteController.php

后端/SiteController.php

视图/布局/

前端/布局

后端/布局

现在的问题是我如何设置 .htaccess 以便当我写http://myapp.com/index.php --> 将访问前端和 http://myapp.com/backend/inex.php的所有文件- -> 将访问后端文件(beckend 视图和控制器)

4

1 回答 1

0

.htaccessindex.php复制到 [ /backend/ ] 文件夹。然后在新的index.php中更改配置路径,与主路径不同。例如

$config=dirname(__FILE__).'/../../'.YII_PROTECTED.'/config/admin.production.php';

并为后端独立创建自己的配置。

因此,您可以使用任何常见的视图、控制器或模型,但最重要的是使用 UrlManager 对其进行控制。这是我个人网站 的一个例子(你可以在外部测试它的 URL 逻辑)

前端:

    'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'urlSuffix' => '/',
        'rules'=>array(
            '<controller:profile>/' => '<controller>/index/',
            '<controller:profile>/<action:cv>/<project:\w+>' => '<controller>/portfolio/',
            '<controller:profile>/<action>' => '<controller>/<action>/',
            '<controller:blog>/' => '<controller>/index/',
            '<controller:blog>/<postID:[0-9]+>.html' => '<controller>/post/',
        ),
    ),

后端:

    'rules'=>array(
        '/' => 'autoadmin/default/index',
        '<controller:\w+>' => 'autoadmin/<controller>/index',
        '<controller:\w+>/<action:\w+>' => 'autoadmin/<controller>/<action>',
    ),

后端查看作为模块执行的AutoAdmin CMS 。

两者都使用相同的文件结构,但每个都可以使用任何常见的东西(很可能是模型)。

于 2012-08-21T18:35:23.143 回答