使用YII框架进行PHP程序的任务执行

1.当你通过yiic创建一个webapp应用后,
会在webapp/protected/下生成yiic.php, 由于是命令行应用,所以这里的yiic.php其实就是与webapp下的index.php一样的,命令行入口文件。

2.打开yiic文件,添加一行设置,将commands目录的路径添加到yiic中,这样,yiic就能够找到commands目录下的命令文件了,修改后的代码如下,红色为新加入代码:
<?php
// change the following paths if necessary
$yiic=dirname(__FILE__).'/http://www.cnblogs.com/yii-read-only/framework/yiic.php';
$config=dirname(__FILE__).'/config/console.php';
@putenv('YII_CONSOLE_COMMANDS='. dirname(__FILE__).'/commands' );
require_once($yiic);
3.配置好product/config/console.php里面需要用到的组件,像数据库连接。

配置main/console.php,设置import路径,以及db连接,这部份与main.php类似。

'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=testdrive',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),

同时配置好你所要自动加载的类库和扩展:

'import' => array(
        'application.components.CommonClass',
        'application.models.*',
        'application.components.*',
    ),

 

4.继承CConsoleCommand写入自己的命令类,Yii提供了两种方式去执行,如果你执行单一的任务,直接在run方法里面写,另外一种 就是同写你的Controller(控制器),增加actionXXX即可。
本实例采用第二种方式,即采用web程序开发的方式,在基础了CConsoleCommand的类中添加actionXXX方法来执行程序。
我们在commands目录下创建一个文件,来执行我们要执行的任务,暂且命名为TestCommand.php 。

class TestCommand extends CConsoleCommand {
  public $defaultAction = 'index'; //默认动作
    /**
     * 在这里写入你的代码逻辑。
     */
    public function actionIndex() {
        //在这里写入你的代码逻辑
    }

}

 

5.ok,基本完成了,

再打开cmd命令符窗口,命令行下,如切换至protected目录下,执行

yiic Test index


便开始执行 PHP脚本了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值