想试一下单元测试很久了,但是一直没有合适的项目,而且中文网络上的PHPUnit教程要么太旧,要么太乱,所以总也没学会。最近准备把手头的项目重构一下,决定开始使用PHPUnit做单元测试,先照着PHPUnit的官网做了一下Tutorial,虽然已经很简单了,仍然被卡住几次,所以写篇文章记录一下。因为对PHP的包管理系统不熟悉,这篇文章会从安装开始。
开始使用PHPUnit
8条回复
想试一下单元测试很久了,但是一直没有合适的项目,而且中文网络上的PHPUnit教程要么太旧,要么太乱,所以总也没学会。最近准备把手头的项目重构一下,决定开始使用PHPUnit做单元测试,先照着PHPUnit的官网做了一下Tutorial,虽然已经很简单了,仍然被卡住几次,所以写篇文章记录一下。因为对PHP的包管理系统不熟悉,这篇文章会从安装开始。
今天帮人改了个在线聊天室的作业,用PHP+Ajax实现了一个长轮询(long polling)。
服务端主要是两点,一个是用set_time_limit(0);
去除页面执行时间的限制。再就是用一个while
判断是否有数据,没有的话就sleep
几秒钟再重新取。
客户端就是一个Ajax,把当前页面的最后一条的记录传给服务器,请求这之后的数据。回调函数sucess
和error
中都包括调用当前函数。以保证会一个接一个的不断请求,其实这里用setInterval()
也可以。如果要用回调的话,Ajax里需要加上cache: false
,否则某些浏览器(如IE10)会在第二次请求的时候拿到304 Not Modified
,浏览器会瞬间卡死。
具体的代码实现非常短,贴在下面: