我正在开发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
时,任务未显示在列表中。
出什么问题了,我想念什么?
答案 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
开发任务将出现在可用任务列表中。