Heim > php教程 > PHP开发 > Hauptteil

Detaillierte Erläuterung der Methode zur Implementierung der Befehlsaufgabenverarbeitung in Yii

高洛峰
Freigeben: 2016-12-30 16:19:26
Original
1530 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt, wie Yii die Befehlsaufgabenverarbeitung implementiert. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

1. Konfiguration, erforderliche Komponenten zur Ausführung der Aufgabe

Aufgabenkonfigurationsdatei: /protected/config/console.php

Die Konfigurationsmethode ähnelt der Konfiguration der Hauptdatei

<?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;,
      ),
  ),
);
Nach dem Login kopieren

2. Die Aufgabendatei

wird im Dateiverzeichnis /protected/commands/ abgelegt und erbt die CConsoleCommand-Basis Klasse. Die Benennungsmethode für die Aufgabendatei ist Aufgabenname + Befehl

Zum Beispiel 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";
  }
}
Nach dem Login kopieren

Führen Sie die Aufgabe aus

Öffnen Sie die Befehlszeile Geben Sie im Tool das /protected-Verzeichnis des Projekts ein und geben Sie den Befehl yiic ein. Die Liste zeigt die gerade geschriebene Aufgabendatei an

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 individual command help, use the following:
Nach dem Login kopieren

Führen Sie den Befehl yiic go aus, um die Aufgabenverarbeitung zu realisieren

Ich hoffe, dass dieser Artikel für alle auf dem Yii-Framework basierenden PHP-Programmdesigns hilfreich sein wird.

Ausführlichere Erklärungen, wie Yii die Verarbeitung von Befehlsaufgaben implementiert, und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!