php yaf框架扩展实践六——测试、任务、第三方库

2018-03-19 18:37:40 查看 1563 回复 0

这篇也是最后一篇了,一起说明下关于单元测试、计划任务和第三方库的使用。

单元测试

计划任务

一般有一些比较耗时、要求不需要那么实时的数据我们可以放到计划任务里去跑。计划任务放在scripts/crontab目录。该目录下有一个common.php文件载入了yaf运行环境。

计划任务目录

date_default_timezone_set("Asia/Shanghai");
mb_internal_encoding("UTF-8");
$app = new \Yaf\Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap();

$_SERVER['REMOTE_ADDR'] = '127.0.0.1';

新建的计划任务都引入这个文件作为头就可以了。例如定时关闭订单的操作:


/**
 * 关闭订单
 * 执行时间:每隔1小时执行一次
 *
 * @author chenjiebin <sjlinyu@qq.com>
 */
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
require APPLICATION_PATH . '/scripts/crontab/common.php';

echo "close expired order";

第三方库

在开发的时候经常需要引入第三方库进行开发,如支付宝、微信等SDK。这个推荐放在library目录下。不过在开发的过程中,我们经常碰到的一点忧伤的事情就是yaf使用命名空间,第三方库往往都不支持命名空间,这样就需要修改第三方库的代码,很是忧伤啊。

总结