yii框架学习笔记(1.1.21版本)
下载框架:https://github.com/yiichina/yii
创建一个新的空白应用(cmd 命令):
framework/yiic [appname] [path/to]
- 入口配置:protected/config/main.php
'components'=>[
//伪静态配置
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
]
- 伪静态:.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(.*)\.(css|jpg|js|gif|png|bmp)/
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
- 应用配置文档:https://www.yiiframework.com/doc/guide/1.1/zh-cn/basics.application
- Yii::app()
//获取配置文件main中的配置值和应用组件
Yii::app()->basePath;
Yii::app()->name;
Yii::app()->params->adminEmail;
//组件配置在main中的components键中
Yii::app()->db;
Yii::app()->cache;
Yii::app()->user;
- 可以在controller 目录创建 actions (可自定义)目录用于存放action类,达到action复用的目的:
//protected/controllers/post/UpdateAction.php
class UpdateAction extends CAction {
public function run() {
// place the action logic here
}
}
//protected/controllers/ArticleController.php
class ArticleController extends Controller {
public function actions() {
return [
'edit'=>'application.controllers.post.UpdateAction'
];
}
}
- 可以在action方法中加入参数,可直接获取到get来的参数:
public function actionView($id, $act, $name='joyber') {
// main中的路由配置中的$id动态参数
echo $id;
// $_GET['act']
echo $act;
// $_GET['name'] 不存在name参数时默认值:joyber
echo $name;
// post xxy
$xxy = Yii::app()->request->getPost('xxy');
}
- widget 自定义组件 可以放在components 目录 视图中应用:<?php $this->widget('MyWidget', ['data'=>123]) ?>
//components/MyWidget.php
class MyWidget extends CWidget {
public $btn;
public function init() {
// 此方法会被 CController::beginWidget() 调用
}
public function run() {
// 此方法会被 CController::endWidget() 调用
parent::run(); // TODO: Change the autogenerated stub
$this->render('my', ['btn'=>$this->btn, 'name'=>'my test widget']);
}
}
//view file: components/views/my.php
<input type="text" value="<?=$name?>">
<button><?=$btn?></button>
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/yii.html
转载时须注明出处及本声明