Maison  >  Article  >  développement back-end  >  Comment implémenter le traitement des tâches de commande via Yii

Comment implémenter le traitement des tâches de commande via Yii

不言
不言original
2018-06-15 10:50:251676parcourir

Cet article présente principalement la méthode de mise en œuvre du traitement des tâches de commande dans Yii et analyse les étapes et les techniques associées de configuration, de chargement et d'utilisation du traitement des tâches de commande dans Yii sous forme d'exemples. Les amis dans le besoin peuvent se référer à

.

Cet article L'exemple décrit comment Yii implémente le traitement des tâches de commande. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. Configuration, les composants requis pour effectuer la tâche

Fichier de configuration de la tâche : /protected/ config/console.php

La méthode de configuration est similaire à la configuration du fichier principal

<?php
// This is the configuration for yiic console application.
// Any writable CConsoleApplication properties can be configured here.
return array(
  &#39;basePath&#39;=>dirname(__FILE__).DIRECTORY_SEPARATOR.&#39;..&#39;,
  &#39;name&#39;=>&#39;My Console Application&#39;,
  // application components
  // 自动载入的模型和组件类
  &#39;import&#39;=>array(
      &#39;application.models.*&#39;,//载入"application/models/"文件夹下的所有模型类
      &#39;application.components.*&#39;,//载入"application/components/"文件夹下的所有应用组件类
      &#39;application.extensions.*&#39;,//载入"application/extensions/"文件夹下的所有应用组件类
  ),
  &#39;components&#39;=>array(
      // uncomment the following to use a MySQL database
      &#39;db&#39;=>array(
          &#39;connectionString&#39; => &#39;mysql:host=localhost;dbname=dbname&#39;,//连接mysql数据库
          &#39;emulatePrepare&#39; => true,
          &#39;username&#39; => &#39;root&#39;,//MySQL数据库用户名
          &#39;password&#39; => &#39;123456&#39;,//MySQL数据库用户密码
          &#39;charset&#39; => &#39;utf8&#39;,//MySQL数据库编码
          &#39;tablePrefix&#39; => &#39;zd_&#39;, //MySQL数据库表前缀
          &#39;enableProfiling&#39;=>true,
          &#39;enableParamLogging&#39;=>true,
      ),
      //加载Email组件
      &#39;mailer&#39; => array(
          &#39;class&#39;   => &#39;application.extensions.mailer.EMailer&#39;,
      ),
  ),
);

2. 🎜>

Placez-le dans le répertoire du fichier /protected/commands/ et héritez de la classe de base CConsoleCommand. La méthode de dénomination du fichier de tâche est Task name +Command

Par exemple, 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\n";
  }
}

3. Exécutez la tâche

Ouvrez l'outil de ligne de commande, entrez dans le répertoire /protected du projet et entrez la commande yiic. Une invite apparaîtra. La liste d'invites affiche le fichier de tâche qui vient d'être écrit

E:\project\app\protected>yiic
Yii command runner (based on Yii v1.1.12)
Usage: E:\zeee\zyd\protected\yiic.php <command-name> [parameters...]
The following commands are available:
- go
- mailqueue
- message
- migrate
- shell
- webapp
To see inpidual command help, use the following:

Exécutez la commande yiic go pour réaliser la tâche. traitement

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

À propos des méthodes courantes de CDBCriteria dans Yii


Comment résoudre le problème des sessions inter-domaines coexistence sous Yii2


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn