日期:2014-05-20  浏览次数:20816 次

Yii Framework处理网站前后台文件的方法

1.首先我把目录结构写下来:

??? wwwroot/
??????? index.php
??????? admin.php
??????? assets/
??????? images/
??????? protected/
??????????? config/
??????????????? main.php
??????????? components/
??????????? controllers/
??????????? models/
??????????? views/
??????????? runtime/
??????????? admin /
??????????????? config/
??????????????????? main.php
??????????????? components/
??????????????? controllers/
??????????????? views/
??????????????? runtime/

?

2.前后台引导文件分别如下,复制index.php改名为admin.php并修改
Yii::app()->createWebApplication('protected/admin /config/main.php')->run();

?

3.protected/admin/config/main.php的代码如下:

<?php
$backend = dirname(dirname(__FILE__));
$frontend = dirname($backend);
Yii::setPathOfAlias('backend',$backend);

$frontendArray = require_once($frontend.'/config/main.php');

$backendArray=array(
	'name'=>'网站后台管理系统',
	'basePath'=>$frontend,
    'viewPath'=>$backend.'/views',
	'controllerPath'=>$backend.'/controllers',
    'runtimePath'=>$backend.'/runtime',
	'import'=>array(	
		'application.models.*',
		'application.components.*',
	    'backend.models.*',
		'backend.components.*',
	),
	'params'=>CMap::mergeArray(require($frontend.'/config/params.php'),require($backend.'/config/params.php')),
);
return CMap::mergeArray($frontendArray,$backendArray); 

这里我们的model是公用的 ,controller和view,runtime是分开的,我们还可以通过命令行对后台进行model和crud,方法如下:

>yiic shell path/to/site/admin.php
>model Article
>crud Article

这样后台对应的controller和view就生成了!
如果只对后台的变量进行配置的话,只需要修改protected/admin下的配置文件就可以了!

后台配置文件与前台配置文件进行数组合并,没有的项自动包含,相同项则将其覆盖,例如后台中可使用 'language'=>'zh_cn',且'name'=>'网站后台管理系统'仍为自己,是将前台覆盖的结果


前后台分离:前台入口index.php,后台是admin.php。后台可以重用前台,module那个更像是子项目,这个前后台两个像并行的