Yii框架常用方法

Yii 處理表單的方法
1、通過yii\widgets\ActiveForm來創建表單,ActiveField與表單屬性對應。
2、HTML幫助類,提供靜態方法生成HTML標籤;
3、別名:用別名來寫路徑,防止出錯;
參考文獻
<<權威指南 The difinitive guide to YII2.0>>
<<類參考手冊 YII PHP framework version2>>

4、http://192.168.56.10/blogDemo/advanced/backend/web/index.php?r=gii
打開連接,啓用Gii,開始創建model,controller

5、在blogDemo\advanced\backend\views\layouts\main.php
增加菜單欄

$menuItems = [
        ['label' => '文章管理', 'url' => ['/post/index']],
        ['label' => '評論管理', 'url' => ['/comment/index']],
        ['label' => '用戶管理', 'url' => ['/user/index']],
        ['label' => '管理員', 'url' => ['/adminuser/index']],
    ];

6、ActiveRecord
一個AR類對應一個數據表,每個AR對象對應數據表中的一行。
AR對象的屬性對應爲數據行中的列;
可以以面向對象的方式直接操縱數據表中的數據,這樣就能不寫sql來實現對數據庫的訪問。

7、DetailView 用來顯示類的示例的一個對象


template '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'
用來自定義DetailRecord的格式

8、魏曦在4.4有個回顧

9、ArrayHelper,幫助更好的操作數組;
getValue(),getColunm();
map()方法從一個一維或者多維數組中建立映射表;參數爲需要建立的表和值

echo "<pre>";
print_r($obj1);
echo "</pre>";
exit(0);

10、查詢構建器
查詢構建器是建立在DAO基礎之上的可以創建程序化的sql

如何使用構建器
1、創建一個 yii\db\query對象來代表一個select sql語句,然後構建查詢條件
2、通過column(),all(),one()方法來執行從數據庫中檢索這些數據

User::find()->all();    //返回所有用戶數據;
    //返回 主鍵 id=1  的一條數據;
User::find()->where(['name' => 'ttt'])->one();   //返回 ['name' => 'ttt'] 的一條數據;
User::find()->where(['name' => 'ttt'])->all();   //返回 ['name' => 'ttt'] 的所有數據;
User::findBySql('SELECT * FROM user')->all();  //用 sql  語句查詢 user 表裏面的所有數據;
User::findBySql('SELECT * FROM user')->one();  此方法是用 sql  語句查詢 user 表裏面的一條數據;
User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id');   //統計符合條件的總條數;
User::find()->one();    //返回一條數據;
User::find()->all();    //返回所有數據;
User::find()->count();    //返回記錄的數量;
User::find()->average();   //返回指定列的平均值;
User::find()->min();    //返回指定列的最小值 ;
User::find()->max();   //返回指定列的最大值 ;
User::find()->scalar();    //返回值的第一行第一列的查詢結果;
User::find()->column();    //返回查詢結果中的第一列的值;

11、在XXSearch()方法裏面增加分頁功能

 $dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => ['pagesize' =>6]
        ]);

12、dataProvider對於數據的排序

$dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pagesize' =>6,
            ],
            'sort' =>[
                'defaultOrder'=>[
                    'id' => SORT_ASC,
                ]
            ]
        ]);

13、打印模型錯誤 print_r($model->getErrors());
14、
/**
* [std_class_object_to_array 將對象轉成數組]
* @param [stdclass] $stdclassobject [對象]
* @return [array] [數組]
*/
public static function std_class_object_to_array($stdclassobject)
{
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;
foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? self::std_class_object_to_array($value) : $value;
$array[$key] = $value;
}
return $array;
}

15、使用yii2
http://admin.spa.com/index.php?r=gii%2Fdefault%2Fview&id=crud

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章