Welcome 微信登录

首页 / 网页编程 / PHP / Yii实现Command任务处理的方法详解

本文实例讲述了Yii实现Command任务处理的方法。分享给大家供大家参考,具体如下:
1.配置,执行任务所需要的组件
任务配置文件:/protected/config/console.php
配置方法跟配置main文件差不多
<?php// This is the configuration for yiic console application.// Any writable CConsoleApplication properties can be configured here.return array("basePath"=>dirname(__FILE__).DIRECTORY_SEPARATOR."..","name"=>"My Console Application",// application components// 自动载入的模型和组件类"import"=>array("application.models.*",//载入"application/models/"文件夹下的所有模型类"application.components.*",//载入"application/components/"文件夹下的所有应用组件类"application.extensions.*",//载入"application/extensions/"文件夹下的所有应用组件类),"components"=>array(// uncomment the following to use a MySQL database"db"=>array("connectionString" => "mysql:host=localhost;dbname=dbname",//连接mysql数据库"emulatePrepare" => true,"username" => "root",//MySQL数据库用户名"password" => "123456",//MySQL数据库用户密码"charset" => "utf8",//MySQL数据库编码"tablePrefix" => "zd_", //MySQL数据库表前缀"enableProfiling"=>true,"enableParamLogging"=>true,),//加载Email组件"mailer" => array("class" => "application.extensions.mailer.EMailer",),),);
2.任务文件
放在 /protected/commands/ 文件目录下继承 CConsoleCommand 基类的为任务文件 命名方法为   任务名称+Command
例如 GoCommand.php
<?php/** * 自动运行文件 */class GoCommand extends CConsoleCommand{/** * 死循环输出 */public function run(){for($i=1;$i>0;$i++){self::echoWord($i);sleep(2);//休眠2秒//跳出if(i==500){break;}}}/** * 输出hollo word */public function echoWord($i){echo "hollo word --$i
";}}
3.执行任务
打开命令行工具,进入项目的/protected 目录下 输入yiic命令即出现提示,提示列表显示刚才写的任务文件
E:projectappprotected>yiicYii command runner (based on Yii v1.1.12)Usage: E:zeeezydprotectedyiic.php <command-name> [parameters...]The following commands are available:- go- mailqueue- message- migrate- shell- webappTo see individual command help, use the following:
执行命令 yiic go 可实现任务处理
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。