
PHP
文章平均质量分 55
bingyelee
这个作者很懒,什么都没留下…
展开
-
Yii框架的单元测试中使用Fixtures详解
Yii框架提供了一些单元测试的支持,大家可以看看Yii提供的例子,然后,我们解析下最复杂的fixtures是怎么做的,因为企业级的单测,比如离不开数据库,这也是回报最优厚的地方。 单测的case如果要使用Fixtures就需要声明一个public $fixtures的变量,比如: public$fixtures=array('posts'=>'Post','comments原创 2013-05-16 15:31:37 · 4080 阅读 · 0 评论 -
PHP中,如何创建文件下载
这种很常见的,比如,你需要处理一批数据,将一批数据增加1,然后,让用户下载。常见的,也有,需要从数据库中导出数据,然后,让用户下载。如何实现呢?我们就需要使用HTTP的协议知识,HTTP的详解后面再写,这里先解决下载的问题。 header('Content-type: application/octet-stream'); header('Content-原创 2013-06-05 19:33:10 · 2591 阅读 · 0 评论 -
强大的redis
redis用作nosql存储,是非常强大的。特别是面对高并发的情况,都是非常的合适。redis学习的重点在于:1.对redis的定位,如果追求单纯的缓存,那么memcached还是很合适的。不过,如果有永久性存储的话,redis就非常合适。2.redis的易用性。redis支持list、hash、set、sorted set,可以让我们完成很多的事情,比如最常见的队列,就很适合原创 2013-05-31 18:56:43 · 953 阅读 · 0 评论 -
单元测试应该由谁编写
写这篇文章的时候,哥正在给一个开发人员写单元测试。呵呵,我真是想说几个字,我去年买了个表。花了一下午,给写完的单元测试。关键是,开发人员的代码质量不是很好,我阅读理解需要时间,这么一弄就一下午了。单元测试由谁编写?谁写代码,谁自己写单元测试。当然,有的结对编程里面,也有相互写的,不过,这个过程中,两个人是共同完成的代码。也不违反谁写代码谁写单元测试的原则。如果单元测试让QA,或者其原创 2013-05-22 20:42:04 · 5708 阅读 · 2 评论 -
Yii框架中使用Fixtures的一个大坑。。
在单元测试中,数据库一直是很纠结的一个问题。一般有两种解决方案:1.进行mock,也就是所有的数据库操作都mock掉,这样就不需要数据库了;2.链接一个真实的数据库,不过,如何保证可以重复的执行?一个简单的思路,就是我们把需要的数据准备好,然后,每次跑单元测试,先truncate数据库,然后再执行入库的操作,最后执行完的时候,再做恢复的操作。对于第二种方案,Yii框架给了一个很好的数据库支持,原创 2013-05-14 21:56:53 · 2881 阅读 · 0 评论 -
Yii中的动态类加载方法
Yii框架是一个比较快速的框架,其中有一点就是,使用它的Yii::import()可以先预加载autoload,然后,在真正需要的时候,再去require真正的代码。具体的实现如下:1.预加载的方法。Yii::import(). 下面是实际的代码: public static function import($alias,$forceInclude=false) { if(isset原创 2013-05-14 22:57:45 · 5197 阅读 · 0 评论 -
PHP中的网络编程 -- Socket篇
作为WEB应用,网络编程是必不可少的。在实际的应用中,所需要网络编程的是1.HTTP协议的请求,比如上传、下载什么的; 2.就是TCP/IP层的操作。比如,公司内部的协议解析。再往底层就基本没有了。 对于TCP/IP层的操作,在我们这边有内部的通信协议。然后,在这一层的网络通信基本都是很底层的。所以,基本都是使用pack, unpack以及位移等操作,不过,最重要的就是原创 2013-05-09 21:13:33 · 3688 阅读 · 0 评论 -
PHPUnit单元测试系列二 -- 如何开展单测
虽然大家都说TDD,都有美好的幻想说,我们先写测试用例,然后再写实际代码。不过,现实中,我目前还没接触过这样的团队(真希望以后,能够到这种团队,很认真的TDD开发,有这样团队的记得联系我哈~留言就可以了~),大部分的人都是已经刚开发好了,然后,才加入单元测试的。而且,大部分的情况都是,老大要求做单元测试,或者,对应的QA做单元测试。我待过3个团队,都是先开发代码,然后老大要求做单元测试,所以才原创 2013-05-08 10:48:42 · 2118 阅读 · 0 评论 -
PHP静态代码检测 -- phpmd
任何语言的静态代码检测,都是值得的,因为代码是静态的,运行的成本简单,能偶花最少的代价,来检测程序员的粗心大意。相信诸位都体会过,因为多了逗号,然后你需要花费半小时以上的时间来定位。目前,PHP的静态代码检测最出名的就是php depend,然后,在其基础上有很多的修改版本。这里我们使用的是PHPMD来做静态代码检测。官网是这里:http://phpmd.org/,然后,安原创 2013-05-21 12:52:01 · 7287 阅读 · 0 评论 -
传统QA是如何拖慢开发效率的
这是我的亲身工作经历。。。就前几个星期的事情。。。。。 有一个项目A,比如在5月1号,PM已经确定好了MRD,然后大家用3天的时间来评审,然后确定好排期了。RD需要5天,FE也需要5天,可以并行开发,然后QA需要3天。这样也就是5月10号提测给QA,然后5月13上线。梦想总是美好的。 在开发的过程中,总是有不断出现的细节调整,或者咨询。然后,在5月10号的时候,还在调试和改bug。原创 2013-05-19 23:45:00 · 1239 阅读 · 0 评论 -
Web网站的敏捷测试模式
现在基本都是LAMP的模式,如果换一下,也就是apache换成nginx或者lighttpd,其他的PHP和mysql是不会变的。然后,一个常见的WEB网站就是,保存用户数据、读取用户数据的操作。只不过,这个过程中,会加入权限验证,或者其他的特殊处理。基本上,80%以上的WEB代码,都是处理这种逻辑的,就是存储或者读取。如果要说复杂点的,无非是高并发的情况。在这里,基本上都是加入mem原创 2013-05-20 19:53:53 · 1163 阅读 · 0 评论 -
$_SERVER中的信息
下面这个数组是我访问本地的 http://xx.xxx.com/index.php?a=1&b=2的结果,也是apache传递给PHP的数据参数。其中,比较重要的是REQUEST_URI这个变量,一般被用于确定请求的地址。array(28) { ["HTTP_HOST"]=> string(37) "www.xxx.com:8886" ["HTTP_CONNECT原创 2013-05-03 16:32:27 · 747 阅读 · 0 评论 -
PHP中查询较大的mysql请求
曾经碰到过跑一个脚本,做mysql的结果输出什么的,结果直接一个内存耗尽。。今天有幸,看到一个帖子,讲的是PHP中处理大mysql请求的文章,讲解了,底层的实现。分享给大家看看。原帖地址:http://ourmysql.com/archives/917?f=wb文章就不贴过来了,然后,要说的就是,这个问题和排序是一样的。 你可以用内存换性能,也可以性能换内存。所以,没有绝对的好,或者绝原创 2013-06-07 15:45:32 · 794 阅读 · 0 评论