php yaf框架扩展实践六——测试、任务、第三方库
这篇也是最后一篇了,一起说明下关于单元测试、计划任务和第三方库的使用。
单元测试
关于单元测试,代码放在tests目录。具体的使用,我以前有整理过一篇文章,这里就不再过多说明了。请移步:Yaf框架结合PHPUnit的集成测试
计划任务
一般有一些比较耗时、要求不需要那么实时的数据我们可以放到计划任务里去跑。计划任务放在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使用命名空间,第三方库往往都不支持命名空间,这样就需要修改第三方库的代码,很是忧伤啊。
总结
至此,yaf的开发总结就算告一段落了。希望这些个东西能给大家带来帮助,也欢迎大家提意见。
本文转自:http://www.01happy.com/php-yaf-ext-phpunit-crontab-and-so-on/