Shell tasks的一些知识

有时构建更高级的控制台应用程序,您需要编写功能为可重用的类,可以共享许多贝壳。任务让你命令提取到类。例如烤了几乎全部的任务。您定义一个shell的任务通过使用美元的任务属性:
class UserShell extends AppShell {
    public $tasks = array('Template');
}

您可以使用插件使用标准插件语法任务。任务存储在Console/Command/Task/文件命名他们的类。所以如果我们要创建一个新的“FileGenerator”任务中,您将创建Console/Command/Task/FileGeneratorTask.php。

每个任务必须至少实现一个execute()方法。ShellDispatcher将任务调用时调用该方法。一个任务类看起来像:

class FileGeneratorTask extends Shell {
    public $uses = array('User');
    public function execute() {

    }
}

shell作为属性也可以访问它的任务,使任务大制作类似于可重用的功能块组件:
// found in Console/Command/SeaShell.php
class SeaShell extends AppShell {
    public $tasks = array('Sound'); // found in Console/Command/Task/SoundTask.php
    public function main() {
        $this->Sound->execute();
    }
}


您也可以从命令行直接访问任务:

$ cake sea sound

与TaskCollection动态加载任务
您可以使用任务负载动态任务集合对象。可以加载任务没有宣布任务:
$Project = $this->Tasks->load('Project');

将加载并返回一个ProjectTask实例。你可以从插件加载任务使用:
$ProgressBar = $this->Tasks->load('ProgressBar.ProgressBar');





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值