
技术
文章平均质量分 52
grey256
这个作者很懒,什么都没留下…
展开
-
PHPUnit测试私有属性和方法
一、测试类中的私有方法:class Sample{ private $a = 0; private function run() { echo $a; }} 上面只是简单的写了一个类包含,一个私有变量和一个私有方法。对于protected和private方法,由于无法像是用public方法一样直接调用,所以在使用phpunit进行单测的时候,多有原创 2015-12-17 16:12:33 · 4153 阅读 · 2 评论 -
Thinkphp3.2.3 解决关联模型的自动生成问题($_auto)
Thinkphp 关联模型 自动生成原创 2016-03-23 17:19:11 · 1794 阅读 · 0 评论 -
Bootstrap框架使用拖拽插件Nestable
最近写个项目,前端页面需要使用拖拽功能,秉着不要重复造轮子的心态,在网上找到一个靠谱的插件Nestable,很好用。但在使用中依然发现了部分问题。最直观的一个就是当将一个dd-list中的所有dd-item元素都拖拽到其他地方时(此时该dd-list为空),此时如果想要再将某dd-item拖拽回该dd-list,就无法进行了。 硬着头皮去看了下Nestable的代码,还真找到了解决办法,希望对需要原创 2016-03-23 19:30:15 · 14500 阅读 · 1 评论 -
Thinkphp关联模型使用field或getField函数
最近写个人项目,遇到个小坑——Thinkphp关联模型使用field函数时必须包含relation_foreign_key,否则无法关联。原创 2016-04-08 21:24:22 · 3119 阅读 · 0 评论 -
php与ajax交互——实现php实时返回结果给ajax,并在后台保持继续运行的方法
一个简单的让php将结果返回前端,并继续在后台运行的方法原创 2016-05-12 21:03:02 · 18458 阅读 · 4 评论 -
Sublime插件开发:开发机与测试机代码同步
Sublime插件开发原创 2016-11-23 17:35:35 · 1387 阅读 · 0 评论 -
用redis实现悲观锁(后端语言以php为例)
锁机制通常使用的锁分为乐观锁,悲观锁这两种,简单介绍下这两种锁,作为本文的背景知识,对这类知识已经有足够了解的同学可以跳过这部分。乐观锁先来看下百度百科上的解释:[大多是基于数据版本( Version )记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此原创 2017-03-16 19:30:30 · 8394 阅读 · 1 评论 -
高并发下Redis如何保持数据一致性(避免读后写)
“读后写” 通常意义上我们说读后写是指针对同一个数据的先读后写,且写入的值依赖于读取的值。关于这个定义要拆成两部分来看,一:同一个数据;二:写依赖于读。(记住这个拆分,后续会用到,记为定义一、定义二)只有当这两部分都成立时,读后写的问题才会出现。在项目中,当面对较多的并发时,使用redis进行读后写操作,是非常容易出问题的,常常使得程序不具备鲁棒性,bug很难稳定复现(得到的值往往跟并发数有关原创 2017-12-28 17:17:58 · 67224 阅读 · 5 评论