$this->createurl(『actionname』, array(『params01′=>』value01′, 『params02′=>』value02′) );//controller::createurl($route,$params=array(),$ampersand=』&』)
第乙個引數是乙個字串,值為路由名。比如action01、controller01/action01等格式。 第二個引數是乙個陣列,值為所有引數的key=>value對。 第三個引數是url中每對引數之間的分隔符,一般預設為&不做修改。
假設我們在controller01::action01中,想要生成指向action02的url,可以這樣做:
$this->createurl(『action02′ );
假設我們在controller01::action01中,想要生成指向controller02::action02的url,可以這樣做:
$this->createurl(『action02/action02′ );
若action02是預設action,比如index,那麼可省略,但最後的斜槓不可省略,即:
$this->createurl(『action02/』 );
斜槓放在最前面即不管**存在於哪個module下或者哪個controller下,都從整個**的最頂成生成url。假設我們的**存在於user模組的password控制器的reset方法下,下面的**將會生成不同的url:
$this->createurl(『/abc』); //生成 /abc
$this->createurl(『/abc/efg』); //
生成 /abc/efg
$this->createurl(『abc』); //
生成 /user/password/abc
$this->createurl(『abc/』); //
生成 /user/abc
$this->createurl(『abc/efg』); //
生成 /user/abc/efg
$this->redirect(array(『index』, 『params01′=>』value01′, 『params02′=>』value02′));//redirect($url,$terminate=true,$statuscode=302)
redirect方法接受的第乙個引數是乙個陣列,陣列的第乙個值就是路由名,剩下的就是所有的引數值。上面的轉向url相當於直接使用下面**生成的url:
$this->createurl(『index』, array(『params01′=>』value01′, 『params02′=>』value02′) );
可以看出,$this->createurl第三個引數在redirect中是無法設定的。
而redirect方法的第二個引數$terminate表示是否執行時就終結**的執行並立即轉向,一般保持預設。
第三個引數$statuscode表示轉向的時候給瀏覽器傳送的狀態**,一般保持預設,具體的狀態**表示的意思可以google一下「網頁狀態碼」。
最底層:
上面所有的生成url的方式都最終轉到了下面的**:
urlmanage::createurl($route,$params,$ampersand);
urlmanage::createurl($route,$params,$ampersand);
yii2 cookie和session的使用
session use yii web session se ssio n yi i s essi on is acti ve op enas essi onsession open close a session se ssio n cl ose dest roys alld atar egis ...
Yii2基礎筆記(一) Yii2預設模板入門使用
0.yii2的工作原理1.進行使用者註冊 或 登入的實現過程,要注意 定義 場景 及 場景的使用。登入場景 只要 使用者名稱和密碼,註冊場景 可能要 使用者名稱 密碼 郵箱 手機等等 yii2中登入相關的類的繼承關係是 2.除錯 可以採用 var dump this errors 來檢視錯誤資訊 3...
Yii中的relations方法
以blog示例 重點看注釋 user類中的relations方法如下 public function relations post中的方法如下 public function relations comment中的ralations方法如下 public function attributelabe...