Yii rules常用规则介绍

Yii框架zkbhj 发表了文章 • 0 个评论 • 889 次浏览 • 2016-08-09 19:22 • 来自相关话题

public function rules()
{
return array(
//必须填写
array('email, username, password,agree,verifyPassword,verifyCode', 'required'),
//检查用户名是否重复
array('email','unique','message'=>'用户名已占用'),
//用户输入最大的字符限制
array('email, username', 'length', 'max'=>64),
//限制用户最小长度和最大长度
array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),
//限制密码最小长度和最大长度
array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),
//判断用户输入的是否是邮件
array('email','email','message'=>'邮箱格式错误'),
//检查用户输入的密码是否是一样的
array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),
//检查用户是否同意协议条款
array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'),
//判断是否是日期格式
array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),
//判断是否包含输入的字符
array('superuser', 'in', 'range' => array(0, 1)),
//正则验证器:
array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
//数字验证器:
array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
//类型验证 integer,float,string,array,date,time,datetime
array('created', 'type', 'datetime'),
//文件验证:
array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'),
array('url',
'file', //定义为file类型
'allowEmpty'=>true,
'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上传文件的类型
'maxSize'=>1024*1024*10, //上传大小限制,注意不是php.ini中的上传文件大小
'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
),
} );

$news= new news('search'); //search关联规则 查看全部
public function rules()
{
return array(
//必须填写
array('email, username, password,agree,verifyPassword,verifyCode', 'required'),
//检查用户名是否重复
array('email','unique','message'=>'用户名已占用'),
//用户输入最大的字符限制
array('email, username', 'length', 'max'=>64),
//限制用户最小长度和最大长度
array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),
//限制密码最小长度和最大长度
array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),
//判断用户输入的是否是邮件
array('email','email','message'=>'邮箱格式错误'),
//检查用户输入的密码是否是一样的
array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),
//检查用户是否同意协议条款
array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'),
//判断是否是日期格式
array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),
//判断是否包含输入的字符
array('superuser', 'in', 'range' => array(0, 1)),
//正则验证器:
array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
//数字验证器:
array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
//类型验证 integer,float,string,array,date,time,datetime
array('created', 'type', 'datetime'),
//文件验证:
array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'),
array('url',
'file', //定义为file类型
'allowEmpty'=>true,
'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上传文件的类型
'maxSize'=>1024*1024*10, //上传大小限制,注意不是php.ini中的上传文件大小
'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
),
} );

$news= new news('search'); //search关联规则

如何让Yii的变量在系统各个地方都能使用?

回复

Yii框架zkbhj 回复了问题 • 1 人关注 • 1 个回复 • 2138 次浏览 • 2016-08-09 18:16 • 来自相关话题

在Yii2中,如何将数据库查询出来的结果显示为数组?

回复

Yii框架zkbhj 回复了问题 • 1 人关注 • 1 个回复 • 1983 次浏览 • 2017-07-31 19:25 • 来自相关话题

Yii2.0 对数据库的一些简单的操作

Yii框架zkbhj 发表了文章 • 0 个评论 • 908 次浏览 • 2016-08-09 11:45 • 来自相关话题

 User::find()->all(); 此方法返回所有数据;

User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子);

User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据;

User::find()->where(['name' => '小伙儿'])->all(); 此方法返回 ['name' => '小伙儿'] 的所有数据;

User::find()->orderBy('id DESC')->all(); 此方法是排序查询;

User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;

User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;

User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); 统计符合条件的总条数;

User::find()->andFilterWhere(['like', 'name', '小伙儿']); 此方法是用 like 查询 name 等于 小伙儿的 数据

User::find()->one(); 此方法返回一条数据;

User::find()->all(); 此方法返回所有数据;

User::find()->count(); 此方法返回记录的数量;

User::find()->sum(); 此方法返回指定列的和;

User::find()->average(); 此方法返回指定列的平均值;

User::find()->min(); 此方法返回指定列的最小值 ;

User::find()->max(); 此方法返回指定列的最大值 ;

User::find()->scalar(); 此方法返回值的第一行第一列的查询结果;

User::find()->column(); 此方法返回查询结果中的第一列的值;

User::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;

User::find()->batch(10); 每次取 10 条数据

User::find()->each(10); 每次取 10 条数据, 迭代查询


// 新建一条记录
$model = new Customer;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
// 获取用户输入的数据,验证并保存
}

// 更新主键为$id的AR
$model = Customer::findOne($id);
if ($model === null) {
throw new NotFoundHttpException;
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
// 获取用户输入的数据,验证并保存
}参考文档:http://www.yiiframework.com/doc-2.0/ 查看全部
 
User::find()->all();    此方法返回所有数据;

User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子);

User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据;

User::find()->where(['name' => '小伙儿'])->all(); 此方法返回 ['name' => '小伙儿'] 的所有数据;

User::find()->orderBy('id DESC')->all(); 此方法是排序查询;

User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;

User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;

User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); 统计符合条件的总条数;

User::find()->andFilterWhere(['like', 'name', '小伙儿']); 此方法是用 like 查询 name 等于 小伙儿的 数据

User::find()->one(); 此方法返回一条数据;

User::find()->all(); 此方法返回所有数据;

User::find()->count(); 此方法返回记录的数量;

User::find()->sum(); 此方法返回指定列的和;

User::find()->average(); 此方法返回指定列的平均值;

User::find()->min(); 此方法返回指定列的最小值 ;

User::find()->max(); 此方法返回指定列的最大值 ;

User::find()->scalar(); 此方法返回值的第一行第一列的查询结果;

User::find()->column(); 此方法返回查询结果中的第一列的值;

User::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;

User::find()->batch(10); 每次取 10 条数据

User::find()->each(10); 每次取 10 条数据, 迭代查询


// 新建一条记录
$model = new Customer;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
// 获取用户输入的数据,验证并保存
}

// 更新主键为$id的AR
$model = Customer::findOne($id);
if ($model === null) {
throw new NotFoundHttpException;
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
// 获取用户输入的数据,验证并保存
}
参考文档:http://www.yiiframework.com/doc-2.0/

为PHP设置服务器(Apache/Nginx)环境变量

服务器zkbhj 发表了文章 • 0 个评论 • 873 次浏览 • 2016-08-09 10:53 • 来自相关话题

设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码。
 设置Apache环境变量
SetEnv RUNTIME_ENVIROMENT DEV

SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root

<VirtualHost *:80>
ServerAdmin admin@admin.com
DocumentRoot "/var/www/"
ServerName localhost
SetEnv RUNTIME_ENVIROMENT DEV
SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost>设置Nginx环境变量
 fastcgi_param RUNTIME_ENVIROMENT 'DEV'
fastcgi_param RUNTIME_ENVIROMENT 'DEV'; fastcgi_param MYSQL_USERNAME 'root'; fastcgi_param MYSQL_PASSWORD 'root';

fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD 'root'

server {
listen 80;
root /var/www;
index index.php;
server_name localhost;
location /
{
index index.php;
}

location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}在PHP中调用服务器环境变量
$env = getenv('RUNTIME_ENVIROMENT');
$env = $_SERVER['RUNTIME_ENVIROMENT']; 查看全部
设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码。
 设置Apache环境变量
SetEnv RUNTIME_ENVIROMENT DEV

SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root

<VirtualHost *:80>
ServerAdmin admin@admin.com
DocumentRoot "/var/www/"
ServerName localhost
SetEnv RUNTIME_ENVIROMENT DEV
SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost>
设置Nginx环境变量
 
fastcgi_param RUNTIME_ENVIROMENT 'DEV'

fastcgi_param RUNTIME_ENVIROMENT 'DEV'; fastcgi_param MYSQL_USERNAME 'root'; fastcgi_param MYSQL_PASSWORD 'root';

fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD 'root'

server {
listen 80;
root /var/www;
index index.php;
server_name localhost;
location /
{
index index.php;
}

location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
在PHP中调用服务器环境变量
$env = getenv('RUNTIME_ENVIROMENT');
$env = $_SERVER['RUNTIME_ENVIROMENT'];