Yii框架常用方法

来源:互联网 发布:视频变音软件手机软件 编辑:程序博客网 时间:2024/06/05 15:27

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