列表中未找到或未注册SilverStripe开发任务

时间:2019-06-04 17:25:03

标签: silverstripe silverstripe-4

我正在开发SilverStripe项目。我正在尝试创建一个任务,以通过访问dev/tasks URL来运行,但是我创建的任务没有显示在任务列表中。

在代码文件夹中,我使用以下代码创建了文件SayHiTask

class SayHiTask extends MigrationRecord
{
    protected $title = 'Say Hi';

    protected $description = 'A class that says <strong>Hi</strong>';

    protected $enabled = true;

    function run($request) {
        echo "I'm trying to say hi...";
    }
}

然后我通过访问dev/build?flush=all再次构建项目。然后,当我转到dev/tasks时,任务未显示在列表中。

出什么问题了,我想念什么?

1 个答案:

答案 0 :(得分:4)

要执行自定义构建任务,我们需要扩展BuildTask类:

use SilverStripe\Dev\BuildTask;

class SayHiTask extends BuildTask
{
    protected $title = 'Say Hi';
    protected $description = 'A class that says Hi';
    protected $enabled = true;

    public function run($request)
    {
        echo "I'm trying to say hi...";
    }
}

有了此代码后,我们将访问dev/tasks?flush=all,我们的Say Hi开发任务将出现在可用任务列表中。