Yii を介してコマンドタスク処理を実装する方法

不言
リリース: 2023-04-01 09:06:02
オリジナル
1691 人が閲覧しました

この記事では主に Yii でコマンドタスク処理を実装する方法を紹介し、Yii でコマンドタスク処理を設定、ロード、使用する手順と関連テクニックをサンプルの形で分析します。必要な方はこの記事を参照してください#。

## この例では、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/ ファイル ディレクトリ内の 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\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 inpidual command help, use the following:
ログイン後にコピー

コマンド yiic go を実行して、タスクの処理を実行します。以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Yii の CDBCriteria の一般的なメソッドについて

セッション クロスドメインの問題を解決する方法Yii2 での共存


#

以上がYii を介してコマンドタスク処理を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート