Yii2教學
從 Yii 1.1升級到 Yii2
安裝Yii2
運行應用
第一個程序HelloWord
使用表單
Yii2使用數據庫
使用Gii生成代碼
組件(Component)
屬性(Property)
事件
行爲
配置
類自動加載(Autoloading)
別名(Aliases)
服務定位器
依賴注入容器
Yii安裝
Yii創建頁面
Yii應用程序結構
Yii入口腳本
Yii控制器
Yii使用控制器
Yii使用動作
Yii模型
Yii小部件(Widget)
Yii模塊(Modules)
Yii視圖
Yii佈局(Layouts)
Yii資源(Asset)
Yii Asset轉換
Yii擴展
Yii創建擴展
Yii HTTP請求
Yii響應
Yii URL格式
Yii URL路由
Yii URL規則
Yii HTML表單處理
Yii驗證
Yii特設動態驗證
Yii AJAX驗證
Yii會話Sessions
Yii使用Flash數據
Yii Cookies
Yii使用Cookies
Yii文件上傳
Yii格式化
Yii分頁
Yii數據排序
Yii屬性
Yii數據提供者
Yii數據Widgets
Yii ListView Widget
Yii GridView Widget
Yii事件
Yii創建事件
Yii行爲
Yii創建行爲
Yii配置
Yii依賴注入
Yii數據庫訪問(MySQL,MSSQL,SQLite,MariaDB,PostgreSQL,ORACLE)
Yii數據訪問對象
Yii查詢生成器
Yii活動記錄(Active Record)
Yii數據庫遷移
Yii主題化
Yii RESTful API
Yii動作使用RESTful API
Yii字段
Yii測試
Yii緩存
Yii片段緩存
Yii別名(Aliases)
Yii日誌記錄
Yii錯誤處理
Yii身份驗證
Yii授權
Yii本地化(國際化)
Yii Gii使用
Yii Gii創建模型
Yii Gii創建控制器
Yii Gii創建模塊
Yii創建行爲
假設我們要創建一個行爲,將行爲連接到的組件的 「name」 屬性轉換爲大寫。
第1步 - 在 components 文件夾中,創建一個 UppercaseBehavior.php 文件並使用下面的代碼。
'beforeValidate', \]; } public function beforeValidate($event) { $this->owner->name = strtoupper($this->owner->name); } } ?>在上面的代碼中,我們創建了 UppercaseBehavior ,在觸發 「beforeValidate」事件後將 name 屬性的值大寫。
第2步 - 要附加這個行爲到 models/MyUser.php 模型,修改如下代碼:
255\] \]; } /\*\* \* @inheritdoc \*/ public function attributeLabels() { return \[ 'id' => 'ID', 'name' => 'Name', 'email' => 'Email', \]; } } ?>現在,當我們創建或更新的用戶,它的 name 屬性將會自動轉換爲大寫。
第3步 - 添加 actionTestBehavior() 函數到 SiteController。
public function actionTestBehavior() {
//creating a new user
$model = new MyUser();
$model->name = "Yiibai";
$model->email = "yiibai.com@gmail.com";
if($model->save()){
var_dump(MyUser::find()->asArray()->all());
}
}
第4步 - 訪問URL: http://localhost:8080/index.php?r=site/test-behavior ,會看到新創建的 MyUser 模型的 name 屬性的值是大寫。