Yii2-GridView添加导出功能

首先我们需要用Composer安装一个导出组件:kartik-v/yii2-export 这个组件依赖一个PDF导出组件kartik-v/yii2-mpdf,100多M,所以安装可能很慢,需要耐心等候 不过新版本好像默认不依赖此PDF组件了 安装完毕后,打开config/web.php,给$config变量添加一个成员:

打开相应的

浅谈PHP中打开文件(fopen)的一些坑

准备自己实现一个基于文件的简单缓存类,用于一些小外包项目。原本只是打算按照特定的JSON格式进行存储,然后用很方便的两个函数 file_get_content 和 file_put_content 进行读写 后来想给缓存类加个自增/减的方法,用来做简单的统计之类。如果考虑到瞬间并发情况,为了防止两个请求互相干扰,就必须得上文件锁了 首先是设置缓存,这个没啥难度: 首先一个$h = fopen($p

Yii2-GridView常用代码块、笔记

使数据默认倒序排列 在该模型对应的Search模型的search方法中,实例化ActiveDataProvider类时修改参数、添加sort键。例如:

列添加最低宽度或其他属性 添加contentOptions键即可。例如:

分页添加“首页”和“尾页” 在GridVi

Composer使用笔记

这年头搞PHP开发的要是跟人说不会用Composer都丢人啊 然而我也只是停留在“能用”的层面上,很多命令还是得边查边用 所以汇总一下,省事儿,用多了就能背下来了 安装Composer 自己看吧,不再赘述 配置Github-token 首先你得有个Github账号,然后进入这里,生成一个Personal access tokens,很简单,把描述填一下、啥都不用勾选默认就行。然后把生成的一串tok

Yii2-GridView自定义活动列ActionColumn

本文同时收录于 超能小紫的Yii2学习笔记 用gii生成的CRUD非常方便,index视图自带的数据列表也很强大,最右侧默认还带有查看详情、修改和删除三大功能按钮 但是这三个按钮不一定够用。例如我们做文章列表时,可能还会需要显示(发布)、隐藏(作为草稿) 之类的按钮,这时候我们就需要自定义活动列了 准备工作 首先我们跟着命名空间(yii\grid\ActionColumn)到 vendor\yii

Yii2-GridView自定义数据列

本文同时收录于 超能小紫的Yii2学习笔记 用gii生成Model和CRUD之后,基本的增删查改和列表页都有了 但在很多时候,默认生成的列表所展示的 数据列 并不一定是我们想展示的 修改所展示的数据列 打开视图层目录,找到刚生成出来的index.php,阅读其代码 稍有常识的人都能看出, 控制数据列显示的就是GridView::widget方法的参数数组中的columns键 它大概长这样: [cr

Yii2-GridView给关联字段添加搜索和排序功能

本文同时收录于 超能小紫的Yii2学习笔记 需求 一个试用申请平台,需要在试用申请列表(Application)内展示申请人(User)姓名 准备工作 用gii生成Model、CRUD 如果你不知道什么是gii,请不要跟别人说你会用yii 数据库结构 申请表application含有字段 user_id 与用户表user的 id 字段一对一关联 第一步 给Application模型添加如下方法 [

一次WebSocket项目实战后总结的经验

项目需求(部分) 宴会参与者微信扫码进入游戏进行签到,签到后头像出现在大屏幕上,经过数轮抽奖最终决出3位终极大奖获奖者。获奖者扫码进入赛跑页面,摇动手机跑步。大屏幕上实时显示3位获奖者的头像和跑步进度(头像从左向右移动)。到达终点后手机端显示完成及耗时 实现思路 Mysql记录参与者信息、状态 每当一个参与者签到时,则将其信息存入Redis队列,等待大屏幕AJAX轮询获取 使用Workerman的

Yii与ThinkPHP的抉择

在之前的一篇文章《浅谈我对开发效率与执行性能的抉择》中,我曾提到过我要学习YII框架 这几个月间,虽然偶(chen)尔(mi)玩玩游戏,但我也没有停下学习的脚步 放慢而已 不得不说Yii是个很强大很现代很优雅的框架,比辣鸡Codeigniter高到不知哪里去 但在我实际两个月的学习当中,我最终还是放弃了它,转向了ThinkPHP 很多人都无法理解我的选择,于是我决定写篇文章总结分析一下我为什么选择

xdebug对PHP性能的影响真大啊,简单测试了下,关掉xdebug性能提升2、3倍左右。难怪Composer都建议我关闭xdebug