L'exemple de cet article 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, 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( 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'name'=>'My Console Application', // application components // 自动载入的模型和组件类 'import'=>array( 'application.models.*',//载入"application/models/"文件夹下的所有模型类 'application.components.*',//载入"application/components/"文件夹下的所有应用组件类 'application.extensions.*',//载入"application/extensions/"文件夹下的所有应用组件类 ), 'components'=>array( // uncomment the following to use a MySQL database '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, ), //加载Email组件 'mailer' => array( 'class' => 'application.extensions.mailer.EMailer', ), ), );
2. Le fichier de tâches
est placé dans le répertoire du fichier /protected/commands/ et hérite de la base CConsoleCommand classe. La méthode de dénomination du fichier de tâche est Nom de la tâche Commande
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 et une liste d'invites apparaîtra. Affichez 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 individual command help, use the following:
Exécutez la commande yiic go pour réaliser. traitement des tâches
J'espère que cet article sera utile à la programmation PHP de chacun basée sur le framework Yii.
Pour des explications plus détaillées sur la façon dont Yii implémente le traitement des tâches de commande et les articles associés, veuillez prêter attention au site Web PHP chinois !