Yii
Yii
幽篁晓筑
这个作者很懒,什么都没留下…
展开
-
YII2中beforeSave和TimestampBehavior的使用,自动更新创建时间,更新时间
在开发过程中,经常会忘了给创建时间、更新时间等字段赋值,这里介绍两种自动更新时间的方法:方法一:beforeSavepublic function beforeSave($insert){ if (parent::beforeSave($insert)) { if ($insert) { if ($this->hasAttribute('created_at')) { $this->created_at = t原创 2021-03-27 21:43:47 · 637 阅读 · 0 评论 -
YII2中like查询单边匹配%
where(['like', 'name', 'test']); 相当于SQL:name like '%test%'where(['like', 'name', '%test', false]); 相当于SQL:name like '%test'原创 2021-02-27 13:16:50 · 1811 阅读 · 0 评论 -
Yii2中不同模块之间的调用runAction
一、调用相同模块下不同控制器的action// 在frontend\controllers\TestController\actionTest 方法中调用同一模块下的// frontend\controllers\NewController\actionNewAction 方法Yii::$app->runAction('new/new-action');二、在不同模块下的调用// 在frontend\controllers\TestController\actionTest 方法中调用另一原创 2020-09-20 14:32:46 · 1232 阅读 · 0 评论 -
Yii伪静态设置
在入口文件下添加.htaccess文件:# use mod_rewrite for pretty URL supportRewriteEngine on# if a directory or a file exists, use the request directlyRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d# otherwise forward the request to index.php原创 2020-09-20 10:43:32 · 325 阅读 · 0 评论 -
Yii redis zset有序集合的使用
和散列存储着键与值之间的映射关系类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取(fetch)和扫描(scan)成员和分值的命令。这里介绍一些常用命令,以及在 Yii 中的使用。ZADDZADD:ZADD key-name score member [score member …]将带有给定分值的成员添加到有序集合里面。ZREMZREM:ZREM key-name member [member …]从有序集合里面移除给定的成员,并返回被移除成员原创 2020-07-12 13:22:59 · 448 阅读 · 0 评论 -
Yii2 rules 自定义规则
Yii2 提供了一套完善的参数校验规则,但有时可能不满足实际需求,需要我们自定义规则,这里简单介绍下自定义规则的使用。比如有个参数 country ,只能接收 'USA', 'Web',其余校验不通过,代码如下:public $country;public function rules(){ return [ // 自定义validateCountry()方法校验规则 ['country', 'validateCountry'], ]...原创 2020-07-04 10:51:46 · 975 阅读 · 0 评论 -
Yii redis hash散列的使用
redis 的散列可以让用户将多个键值对存储到一个 redis 键里面。这里介绍一些常用命令,以及在 Yii 中的使用。HMGETHMGET:HMGET key-name key [key …]从散列里面获取一个或多个键的值。HMSETHMSET:HMSET key-name key name [key name …]为散列里面的一个或多个键设置值HDELHDEL:HDEL key-name key [key …]删除散列里面的一个或多个键值对,返回成功找到并删除的键值对数量原创 2020-06-14 17:09:47 · 525 阅读 · 0 评论 -
Yii redis set集合的使用
redis 的集合是无序的,集合成员是唯一的,不能重复。用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合中。这里介绍一些常用的集合处理命令,并在 Yii 中的使用。SADDSADD:SADD key-name item [item …]将一个或多个元素添加到集合里面,并返回被添加元素当中原本并不存在于集合里面的元素数量SREMSREM:SREM key-name item [item …]从集合里面移除一个或多个元素,并返回被移除元素的数量SISMEMB原创 2020-06-13 16:18:55 · 393 阅读 · 0 评论 -
手动安装 yii2-redis 扩展
本来想通过 composer 下载 yii2-redis 扩展的,一上午还没安装好,直接手动安装吧,这里记录一下。一、下载地址https://github.com/yiisoft/yii2-redis二、使用1、解压后重命名为 yii2-redis,并将下载的扩展放到 vendor/yiisoft 目录下2、找到 vendor/yiisoft/extensions.php 文件,添加以下内容:'yiisoft/yii2-redis' => array ( 'nam原创 2020-06-06 12:09:49 · 325 阅读 · 0 评论 -
Yii redis list列表的使用
redis 的列表允许用户从序列的两端推入或者弹出元素,获取列表元素,以及执行各种常见的列表操作,这里介绍一些常用的列表处理命令,并在 Yii 中的使用。RPUSHRPUSH:RPUSH key-name value [value …]将一个或多个值推入列表的右端(尾部)LPUSHLPUSH:LPUSH key-name value [value …]将一个或多个值推入列表的左端(头部)LLENLLEN:LLEN key-name获取列表长度RPOPRPOP:RPOP k原创 2020-05-30 11:34:35 · 376 阅读 · 0 评论 -
Yii2中Console定时任务
项目开发中经常会需要使用到定时任务,YIi2中有一个功能丰富的控制台命令,今天主要介绍一下如何使用控制台命令编写以及运行定时任务。一、入口文件和 web 程序 index.php 入口文件一样,控制台命令也有一个入口文件,根目录下的 yii 文件。可以在入口文件下运行:php yii二、定时任务编写下载 Yii 框架后,可以看到有个 console 目录,里面有完整的目录结构:配置文件、控制器、模型、日志等。1、新建 TestController.php 文件这时再运行 php yii原创 2020-05-16 11:15:50 · 1038 阅读 · 0 评论 -
YII2中配置MySQL读写分离
在实际开发中,为了服务更好的响应,通常会设置数据库的读写分离,主库负责写入更新等操作,从库负责读操作。以下是YII2中配置MySQL读写分离,一主多从设置。设置好后,这些从库其中之一将被建立起连接并执行读操作,而主库将被用来执行写操作。 这样的读写分离将通过以下配置自动地完成。return [ 'components' => [ 'db' => [ ...原创 2020-05-03 15:52:41 · 307 阅读 · 0 评论 -
YII 中使用 Expression解决查询中带有常量报错的问题
Yii 官方手册关于 Expression 的解释:https://www.yiichina.com/doc/api/2.0/yii-db-expressionExpression 表示不需要转义或引用的 DB 表达式。当表达式对象嵌入到 SQL 语句或片段时, 它将替换为 $expression 属性值,而不进行任何的 DB 转义或引用。 例如,$expression = new Expr...原创 2020-04-05 14:08:51 · 592 阅读 · 0 评论 -
Yii2中indexBy()的使用
在项目开发中经常会使用到一些特殊的值作为数组的索引,一般可以先查询出数据后数组循环拼接成所需的格式。不过YII2框架提供了一种更简单的方法indexBy()。参考Yii文档:https://www.yiichina.com/doc/guide/2.0/db-query-builder当你在调用all()方法时,它将返回一个以连续的整型数值为索引的数组。而有时候你可能希望使用一个特定的字段或...原创 2019-11-23 13:45:15 · 563 阅读 · 0 评论 -
YII2中andWhere多个or查询
使用多个or的复杂查询:AND (name=‘张三’) OR (name=‘李四’) OR (name=‘王五’)// AND (`name`='张三') OR (`name`='李四') OR (`name`='王五')$query->andWhere(['or', ['name' => '张三'], ['name' => '李四'], ['nam...原创 2019-11-23 13:15:03 · 1708 阅读 · 0 评论 -
Yii中实现分页
$criteria = new CDbCriteria();// 查询字段$criteria->select = 'id, name, create_time';// 排序$criteria->order = 'create_time DESC';// 条件筛选 and$criteria->addCondition('id = 1');// 模糊筛选,相当于lik...原创 2019-01-12 12:13:22 · 384 阅读 · 0 评论 -
浅谈PHP几款框架的优缺点
Phalcon基于C扩展写的,高性能,全栈式。(鸟哥的yaf框架也是C语言写的,性能不相上下,但是yaf更新慢,功能相对少)由于是以扩展的方式加载,因此其执行效率高过其他PHP框架,并且消耗更少的资源,据统计比其他框架快5倍以上,也是少数以扩展加载的PHP框架之一。为什么基于C扩展写的框架快。用C实现的PHP框架比起原生框架仍有一定的性能损失,因为每个请求都需要执行额外的一些代码,这是不...原创 2018-09-02 10:47:20 · 3355 阅读 · 0 评论 -
Yii2 的安装及简单使用
前段时间第一次使用Yii2框架,碰到了一些问题,这里记录一下。Yii2安装:通过composer安装1、首先要安装composer,我在另外一篇博客中介绍了如何在Windows下安装composer。2、全局设置 Composer 使用中国镜像:composer config -g repo.packagist composer https://packagist.phpc...原创 2019-04-21 15:41:31 · 703 阅读 · 0 评论 -
Yii2处理密码加密及验证
在Yii2中提供了密码加密以及验证的一系列方法,方便我们的使用,它使用的是bcrypt算法。查看源码我们可以发现它使用的是PHP函数password_hash()和crypt()生成。加密:/** * $password 要加密的密码 * $hash 加密后的hash字符串 */$hash = Yii::$app->getSecurity()->g...原创 2019-05-12 10:18:33 · 783 阅读 · 0 评论 -
Yii2 中常用的增删改查操作总结
一、新增1、使用save()$model = new User();$model->name = 'test';$model->phone = '13000000000';$model->email = '123456@qq.com';$model->save();2、使用createCommand 原生sql$sql = "insert ...原创 2019-07-07 08:45:25 · 7179 阅读 · 0 评论 -
Yii2中$model->load($data)一直返回false问题
上次使用$model->load()方法时一直返回false,数据添加不成功,这里记录一下:出错代码:$data = [ 'name' => 'test', 'phone' => '13000000000', 'email' => '123456@qq.com'];$model = new User();$model->l...原创 2019-08-31 09:24:07 · 1066 阅读 · 0 评论 -
Yii2中多表关联查询
准备条件:1、首先准备两张表:customer(用户表)(id, name)order(订单表)(id, customer_id, price)customer 表和 order 表之间是一对多的关系,通过 customer_id 字段关联。2、建立相应的模型文件 customer.php 和 order.php 文件。关联查询:customer.php文件添加g...原创 2019-09-15 11:52:38 · 811 阅读 · 0 评论 -
yii 1.x 的安装
https://blog.csdn.net/xiyao217/article/details/51311918http://www.yii.cn/work/index.php/Site/index原创 2018-09-04 22:52:42 · 972 阅读 · 0 评论