控制器和路由

1.控制器以Controller做为后缀,继承自 yiiwebController

2.动作以action为前缀,public访问修饰

3.控制器ID去类名后缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔

4.动作ID去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔。

5.路由如何指向动作 控制器ID、动作ID

6.URL访问规则index.php?r=路由   传参数使用&参数=值的方式

7.默认动作ID index定义在 yiiaseController::$defaultAction

Url生成

Url帮助类工作方式的演示

use yiihelpersUrl;

//同一个控制器中其他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就行

原文地址:https://www.cnblogs.com/hfdp/p/5749538.html