1. タスクの実行に必要なコンポーネントを構成します
タスク設定ファイル:/protected/config/console.php
設定方法はメインファイル[html]の設定と同様です
// これは yiic コンソール アプリケーションの設定です
// 書き込み可能な CConsoleApplication プロパティはここで設定できます
配列を返します(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'私のコンソール アプリケーション',
// アプリケーションコンポーネント
// 自動的にロードされるモデルとコンポーネント クラス
'import'=>array(
'application.models.*',//「application/models/」フォルダーの下にあるすべてのモデルクラスをロードします
'application.components.*', //すべてのアプリケーションコンポーネントクラスを「application/components/」フォルダーにロードします
'application.extensions.*', //すべてのアプリケーションコンポーネントクラスを「application/extensions/」フォルダーにロードします
)、
'コンポーネント'=>array(
// MySQL データベースを使用するには、次のコメントを解除します
'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、
)、
//メールコンポーネントをロードします
'メーラー' => array(
に
)、
)、
);
// これは yiic コンソール アプリケーションの設定です。
// 書き込み可能な CConsoleApplication プロパティはここで設定できます。
配列を返します(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'私のコンソール アプリケーション',
// アプリケーションコンポーネント
//自動ロードされたモデルとコンポーネントクラス
'application.models.*',//「application/models/」フォルダー内のすべてのモデルクラスをロードします
'application.components.*',//すべてのアプリケーションコンポーネントクラスを「application/components/」フォルダーにロードします
'application.extensions.*',//すべてのアプリケーションコンポーネントクラスを「application/extensions/」フォルダーにロードします
)、
'コンポーネント'=>array(
// MySQL データベースを使用するには、以下のコメントを解除します
'db'=>配列(
'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,
)、
//メールコンポーネントをロードします
'メーラー' => 配列(
'クラス' => 'application.extensions.mailer.EMailer',
)、
)、
);2.タスクファイル
/protected/commands/ファイルディレクトリに配置し、CConsoleCommand基本クラスをタスクファイルとして継承します。命名方法はタスク名+コマンド
です。
たとえば、GoCommand.php[html]
/**
* ファイルを自動的に実行します
*/
クラス GoCommand は CConsoleCommand を拡張します
{
/**
* 無限ループ出力
*/
パブリック関数 run(){
for($i=1;$i>0;$i++){
self::echoWord($i);
sleep(2);//2 秒間スリープします
// 飛び出そう
if(i==500){
壊す;
}
}
/**
* ホロワードを出力します
*/
パブリック関数 echoWord($i){
エコー「ホロワード --$in」;
}
}
/**
* ファイルを自動的に実行します
クラス GoCommand は CConsoleCommand を拡張します
{
/**
* 無限ループ出力
*/
for($i=1;$i>0;$i++){
self::echoWord($i);
Sleep(2);//2 秒間スリープします
//飛び出して
if(i==500){
休憩
}
}
}
/**
* ホロワードを出力
*/
パブリック関数 echoWord($i){
}
}3.タスクを実行します
コマンド ライン ツールを開き、プロジェクトの /protected ディレクトリに移動し、yiic コマンドを入力すると、プロンプト リストに先ほど作成したタスク ファイル [html] が表示されます。
E:プロジェクトアプリ保護>yiic
Yii コマンドランナー (Yii v1.1.12 ベース)
使用法: E:zeeezydprotectedyiic.php [パラメータ...]
次のコマンドが利用可能です:
- 行きましょう
- メールキュー
- メッセージ
- 移行します
- シェル
- ウェブアプリ
個々のコマンドのヘルプを表示するには、次を使用します:
E:プロジェクトアプリ保護>yiic
Yii コマンドランナー (Yii v1.1.12 ベース)
使用法: E:zeeezydprotectedyiic.php [パラメータ...]
次のコマンドが利用可能です:
-メールキュー
- メッセージ
- 移行
- ウェブアプリ
個々のコマンドのヘルプを表示するには、次のコマンドを使用します:コマンド yiic go を実行してタスク処理を実現します