在yii框架裡有前台和後台頁面,舉例前台url重寫。
控制器以controller
作為字尾,繼承自yii\web\controller
;
動作以action
作為字首,public訪問修飾;
控制器id 類名去字尾,全部轉為小寫,如果是駝峰命名多個單詞轉為中槓分割;
動作id 去字首,全部轉為小寫,如果是駝峰命名多個單詞,轉為中槓分割;
路由如何指向動作:控制器id/動作id
預設動作idindex
定義在yii\base\controller::$defaultaction
1.新建乙個foobarcontroller.php
}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');
// 控制器中間有大寫的情況,例如 datetimecontroller中的actionupdate方法
echo url::toroute(['date-time/update','id'=>105]);
// 帶網域名稱的url
echo url::toroute('site/index',true);
// 路由別名
echo url::toroute('@register'); //需要先註冊別名,例如yii::setalias('@register','site/register')
// 拼接image、css等
echo url::to(); //為空時表示當前url包括引數
echo url::to(陣列); //等價url::toroute(陣列)
echo url::to('@baidu'); //別名,例如yii::setalias('@baidu','')
首先需要配置apache。return $this->redirect(['site/index']); //內部呼叫 url::to()生成url,所以大多數情況下需要傳入乙個陣列
1.修改apache的配置httpd.conf
(1)開啟apache的mod_rewrite模組去掉loadmodule rewrite_module modules/mod_rewrite.so前的「#」符號
(2)確保中有「allowoverride all」
批註:對於wamp而言,第二個allowoverride all已經開啟。
allowoverride在apache的配置檔案出現三次,但是只有乙個地方需要 all,其他兩個地方都是none。
(3)重啟apache
在yii2.0不同後台的config/mian.php裡的
'urlmanager' => [
'enableprettyurl' => true,
'showscriptname' => false,
'rules' => [
],],
解除為
[ .htaccess ]檔案內容如下:'components' => [
'urlmanager'=>[
'enableprettyurl'=>true, //是否美化url(去掉?r=)
'showscriptname'=>false, //去掉index.php(apache需要開啟rewrite,並新增.htaccess檔案)
'rules'=>,
],],
把下面的內容儲存為.htaccess檔案放到應用入口檔案web/index.php的同級目錄下
[ nginx ]rewriteengine on
rewritecond % !-d
rewritecond % !-f
rewriterule ^(.*)$ index.php #訪問所有的都會先指向index.php
在nginx低版本中,是不支援pathinfo的,但是可以通過在nginx.conf中配置**規則實現:
注:本文由王智磊(王大寶兒)location /
}
Yii2 0中實現規劃任務
size x large size large 1.在 console controllers 資料夾下建立乙個把握器 namespace console controllers use yii console controller test controller class testcontrol...
yii2 0 最簡單rbac實現方法
許可權設定 公司角色 銷售,專案經理,人事,老闆 公司成員 小銷是銷售,小項是專案經理,小李是人事,老雷是老闆 系統裡面有menu 客戶管理,專案管理,人事管理 需求描述 銷售客戶訪問客戶管理,專案經理可以訪問專案管理,人事可以訪問人事管理,老闆都可以訪問 實現過程 第一步 生成rbac相關的表 m...
Yii 2 0常用方法記錄
headers is an object of yii web headercollection returns the accept header value accept headers get accept if headers has user agent if session isacti...