如何在 Yii2 中创建控制台命令(rake 任务)?
How do I create a console command (rake task) in Yii2?
我使用 Gii 创建了这个文件,但我无法从控制台执行它!
controllers/KWController.php
<?php
namespace app\controllers;
class KWController extends \yii\console\Controller
{
public function actionIndex()
{
return $this->render('index');
}
}
当我尝试 运行 它时,它失败了。
$ yii kw
Error: Unknown command "kw".
$ yii Kw
Error: Unknown command "Kw".
$ yii kW
Error: Unknown command "kW".
$ yii kw/index
Error: Unknown command "kw/index".
指南没有帮助,因为一切都井井有条。
http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html
我不得不将文件放在 commands/
路径中并更改名称空间。奇怪,文档根本没有提到这一点。为什么 Gii 把它放在那里?
如果您使用 yii2-app-basic
模板,控制台命令将作为控制器进入 commands
目录。
如果您使用的是 yii2-app-advanced
模板,则控制台命令位于 console\controllers
文件夹中。
我使用 Gii 创建了这个文件,但我无法从控制台执行它!
controllers/KWController.php
<?php
namespace app\controllers;
class KWController extends \yii\console\Controller
{
public function actionIndex()
{
return $this->render('index');
}
}
当我尝试 运行 它时,它失败了。
$ yii kw
Error: Unknown command "kw".
$ yii Kw
Error: Unknown command "Kw".
$ yii kW
Error: Unknown command "kW".
$ yii kw/index
Error: Unknown command "kw/index".
指南没有帮助,因为一切都井井有条。
http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html
我不得不将文件放在 commands/
路径中并更改名称空间。奇怪,文档根本没有提到这一点。为什么 Gii 把它放在那里?
如果您使用 yii2-app-basic
模板,控制台命令将作为控制器进入 commands
目录。
如果您使用的是 yii2-app-advanced
模板,则控制台命令位于 console\controllers
文件夹中。