分类 PHP 下的文章

thinkphp5.0 使用 phpunit 进行单元测试


起步

thinkphp5.0 是 tp 发展路线第一个支持 composer 的。tp 有自己的载入机制,composer 也有自己的载入机制。

官方提供了 think-testing 组件可以通过 composer require topthink/think-testing 1.* 安装,但我对这个测试组件不是很满意,原因是它每个测试都是模拟成 http 请求。这也就意味着对于一些特定函数,还得封装到控制器中或者路由,该控制器还得控制它生产环境不能对外开放。

另一个原因是可读性会变差,在单元测试文件中只是能看到请求体和响应体,具体测试的函数,测试的细节都看不到。于是我尝试寻找可以独立测试tp或者tp项目,测试颗粒更细的测试单元。(当然是可行的,不然我也不会写这篇文章)


处理PHP中Session机制导致阻塞问题


有时候造成卡顿的是PHP本身的处理方式

起步

一个页面内发起多个 ajax 请求,发现很卡,估摸着后台阻塞了。阻塞的原因这次定位到了 Session 机制上了。session 存储使用的是默认的文件存储。


PHP通过表单直接提交大文件


我想通过表单直接提交大文件,django 那边我就是这么干的。而对于 php 来说,我认为尽管可以设置最大上传的大小,但最大也无法超过内存大小,因为它无法把文件内容都放到 php://input 里面。直到我试了一下。