module id / module id /.../ controller id / action id
module id / directory / controller id / action id
admin/index
admin/site/index
優先選擇modulenode
命名:
PostManagerController => post-manager
actionTestData => test-data
AbcDefController => abc-d-ef
MYAdminModule => m-y-adminios
流程:數據庫
module id / module id /.../ controller id / action idapp
->beforeAction->beforeAction...->runWithParams
afterAction<-afterAction<-afterActionyii
user組件,這裏沒有指定class,會使用Application中的配置ide
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
],
yii::$app->user獲得的是這個配置的類,不是common\models\User類(yii::$app->user->identity纔是)
加載數據的驗證規則,Controller中的rules
var_dump($model->errors)
同一個模型,不一樣的場景須要不一樣的數據(屬性),scenarios定義,驗證指定的字段是否符合規則,忽略其餘字段
繼續自ActiveRecord和Model的區別,Model屬性、驗證、錯誤、場景,ActiveRecord繼承自Model,增長對數據庫表中字段的支持佈局
設置module的佈局文件:$this->layout='main';
false不使用佈局文件,null使用父級的,file name使用指定文件
controller也能夠設置佈局文件,在init中執行post
url:/admin/config絕對路徑,admin/config從當前頁面上一級拼接性能
模型從數據庫中讀數據,findOne等,填充到頁面上顯示;一次加載多個以減小查詢數據庫次數
$this->attributes利用反射獲得全部公有屬性,性能會耗一點,若是有其餘方式指定就能夠不用該方式this