protectedconfigmain.php是整个网站中很重要的一个文件,引用文件,连接数据库,默认页面等都是在这里设置:
1 'import'=>array( 2 'application.models.*', 3 'application.components.*', 4 'application.extensions.*', 5 ),
这是引进yii相关的组件,其中application.extensions.*是引用的拓展文件,这里我用的是发邮件的mailer文件。
'defaultController'=>'dailyreport',这是网站默认显示的内容;
1 'db'=>array( 2 'connectionString' => 'mysql:host=localhost;dbname=innovation', 3 'emulatePrepare' => true, 4 'username' => 'root', 5 'password' => '', 6 'charset' => 'utf8', 7 'tablePrefix'=>'tbl_' 8 ),
这是连接数据库的语句;
1 'urlManager'=>array( 2 'urlFormat'=>'path', 3 'rules'=>array( 4 '<controller:w+>/<id:d+>'=>'<controller>/view', 5 '<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>', 6 '<controller:w+>/<action:w+>'=>'<controller>/<action>', 7 ), 8 ),
这是url显示的设置,比如下面:
array( 'posts'=>'post/list', 'post/<id:d+>'=>'post/read', 'post/<year:d{4}>/<title>'=>'post/read', )
第一个:posts是网站get请求时的参数名,调用$this->createUrl('post/list')
生成/index.php/posts
。该规则适用。
第二个:post是参数名,<id:d+>是匹配参数的正则表达式,调用$this->createUrl('post/read',array('id'=>100))
生成/index.php/post/100
。该规则适用。
第三个:和上一个类似,调用$this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))
生成/index.php/post/2008/a%20sample%20post
。
调用$this->createUrl('post/read')
产生/index.php/post/read
。请注意,没有规则适用。