Heim > php教程 > php手册 > Yii --Command 任务处理

Yii --Command 任务处理

WBOY
Freigeben: 2016-06-13 10:57:52
Original
1082 Leute haben es durchsucht

1.配置,执行任务所需要的组件
任务配置文件:/protected/config/console.php
配置方法跟配置main文件差不多[html]
 
// 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', 
            ), 
    ), 
); 

// 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[html] 
 
/** 
 * 自动运行文件 
 */ 
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\n"; 
    } 

/**
 * 自动运行文件
 */
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\n";
 }
}3.执行任务
打开命令行工具,进入项目的/protected 目录下 输入yiic命令即出现提示,提示列表显示刚才写的任务文件[html] 
E:\project\app\protected>yiic 
Yii command runner (based on Yii v1.1.12) 
Usage: E:\zeee\zyd\protected\yiic.php [parameters...] 
 
The following commands are available: 
- go 
- mailqueue 
- message 
- migrate 
- shell 
- webapp 
 
To see individual command help, use the following: 

E:\project\app\protected>yiic
Yii command runner (based on Yii v1.1.12)
Usage: E:\zeee\zyd\protected\yiic.php [parameters...]

The following commands are available:
- go
- mailqueue
- message
- migrate
- shell
- webapp

To see individual command help, use the following:执行命令 yiic go 可实现任务处理
 

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage