yii的urlManager元件配置

2021-08-19 17:10:29 字數 2278 閱讀 1837

配置元件主要包括:

urlmanager官方文件介紹

,從官網文件看到,urlmanager是乙個類,為什麼又把它稱為元件呢?先不用管,我們只需知道,要為元件指定類即可,如果沒有指定會報錯,除非該元件有預設類,哪些元件有預設類呢?就是核心元件,裝個b看下原始碼,以yii高階模板為例。

pis:如無特別說明,下面的路徑指的是檔案具體路徑,不是命名空間

開啟/frontend/web/index.php,看到

首先,用陣列助手類

跳轉到preinit方法,在這個預初始化方法裡,接受的引數是引用,即這個方法要對$config陣列改造,重點看

大概意思是,如果配置檔案沒有配置某元件或沒有為某元件指定類,這個元件就用corecomponents指定的類。將$config變數構造好後,傳到component::__construct($config),開始元件的具體內容,就不往下走了。

下面看元件屬性的配置,跳到/專案目錄/frontend/config/main.php,我們看到urlmanager元件配置被注釋掉了,即意味著其使用了urlmanager元件指定類的屬性的預設值,具體在\vendor\yiisoft\yii2\wbe\urlmanager.php

小結一下:元件配置,一指定類(無缺省就要在配置檔案寫明),二配置屬性,屬性就是類的成員變數

為了方便,先給前台專案新增虛擬主機,具體看鏈結

documentroot

"$/www/advanced/frontend/web/"

servername

frontend.advanced.com

這步不是必須的~

以請求site控制器的about動作為例子

enableprettyurl

pis:這個設為false,下面的設定都不起作用

showscriptname

完成後,才能通過訪問

enablestrictparsing

suffix: 字尾名,如設定為suffix => '.html,需通過.html才能訪問到

rules: 規則的配置就很複雜了,下面詳講。

想訪問siteabout動作,要在rules裡加

'site/about' => 'site/about'
其中,左邊稱為pattern,對應輸入的url,右邊為route,對應[模型/]控制器/動作。

如果不想為每個動作都加乙個規則,可以這樣

'/' => '/',
可以這樣理解,左邊,接收請求url的對應值,對它們作\w驗證,即必須是字母或數字或下劃線,以/site/about為例,驗證通過,賦值給臨時變數controller,action,右邊使用,從而找到site控制器的about動作。

同理,模組下的控制器動作也可以這樣實現

'//' => '//',
restful的路由規則,在研究,日後再補~

Yii框架擴充套件JDataItem 資料項元件

yii框架擴充套件jdataitem 資料項元件 配置詳細說明 繼承自cwidget類庫 屬性名 labelname 說明 標籤名稱 屬性名 htmloptions 說明 輸入控制項html選項值 屬性名 erroroptions 說明 錯誤提示html選項 屬性名 labelhtmloptions...

yii2 0 Html助手和Request元件

引入命名空間 useyii helpers html 一 表單 html beginform 提交位址,提交方法,屬性陣列 html beginform post id form class form data myself 二 輸入框 html input 型別,name值,預設值,屬性陣列 ht...

php擴充套件SeasLog應用於 yii2 元件

一.seaslog 簡單介紹及使用原因 它是c 寫的php擴充套件,效能很高,使用簡單,能滿足大部分簡單的日誌需求。個人感覺 其他優勢請看 缺點 使用時碰到的坑 1.如果配置有差錯會直接報錯,程式不健壯會導致頁面直接掛掉,而且由於c寫的這種意外報錯你很難處理。建議基本路徑和模組路徑一定要寫對 環境變...