ホームページ  >  記事  >  php教程  >  Yiiでのコマンドタスク処理の実装方法の詳細説明

Yiiでのコマンドタスク処理の実装方法の詳細説明

高洛峰
高洛峰オリジナル
2016-12-30 16:19:261503ブラウズ

この記事の例では、Yii がコマンドタスク処理を実装する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

1. 設定、タスクの実行に必要なコンポーネント

タスク設定ファイル: /protected/config/console.php

設定方法は設定と似ています。メインファイル

<?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. タスクファイル

は/protected/commands/ファイルディレクトリに配置され、タスクファイルの基本クラスの命名方法はタスク名+コマンド

です。たとえば、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. タスクを実行します

コマンドラインツールを開き、プロジェクトの/protectedディレクトリにyiicコマンドを入力すると、プロンプトリストに先ほど書き込んだタスクファイルが表示されます

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:

コマンドを実行します。タスク処理を実現するためにyiic go

この記事が皆様のYiiフレームワークをベースとしたPHPプログラミングのお役に立てれば幸いです。

Yii がコマンドタスク処理を実装する方法の詳細な説明については、PHP 中国語 Web サイトの関連記事に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。