1.控制器以Controller做为后缀,继承自 yii\web\Controller
2.动作以action为前缀,public访问修饰
3.控制器ID去类名后缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔
4.动作ID去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔。
5.路由如何指向动作 控制器ID、动作ID
6.URL访问规则index.php?r=路由 传参数使用&参数=值的方式
7.默认动作ID index定义在 yii\base\Controller::$defaultAction
Url生成
Url帮助类工作方式的演示
use yii\helpers\Url;
//同一个控制器中其他action
echo Url::toRoute(['update','id'=>'1']);//如果没有参数,可以传字符窜,不需要数组
//不同控制器的action(同一个module)
echo Url::toRoute('post/index');
//绝对路径(可以跳出当前module,如果启动了module,需要在前面加入module的ID)
echo Url::toRoute('/site/index');
//当前控制器中,多个单词组成的action,例如 actionUserInfo
echo Url::toRoute('user-info'); //控制器类似
//带域名的Url
echo Url::toRoute('site/index',true);
//路由别名
echo Url::toRoute('@register');//路由别名,需要先注册别名,例如 Yii::setAlias('@register','site/register');
//拼接image、css等
echo Url::base(); // /project/web
ehco Url:base(true); // http://localhost/project/web
echo Url::to(); // 为空的时候是返回当前的url,包括参数
echo Url::to(数组) //等价于Url::toRoute(数组)
echo Url::to()
//跳转
return $this->redirect(['foot-bar/user-info']);
//路由重写
开启配置文件web.php里的
/* 'urlManager' => [ 'enablePrettyUrl' => true, //去掉 ?r= 'showScriptName' => false, // 去掉index.php 需要apache开启rewrite模块,并添加.htaccess 'rules' => [ ], ], */ 并 apache开启rewrite模块,并添加.htaccess
小点:
ajax请求的时候用 renderPartial (不加载头部尾部),平常用render就行