Yii2,子文件夹中的命令 class

Yii2, Command class in subfolder

我们有文件夹 /commands/,我们应该在其中放置 yii\console\Controller classes 创建这样的命令后,我们可以在控制台中调用它,如 php yii controllerName/action,它将被调用。

但是当我们创建子文件夹 /commands/testdata/ 并将我们的控制台 class 放在那里时,在执行 php yii testdata/controllerName/action 时什么也没有发生(我的意思是错误,这样 controller\action 没有不存在)?

所以问题是,如何从控制台中的子文件夹调用命令?

为什么不将控制器文件夹放在根文件夹中?我为我的命令使用一个单独的文件夹。像这样:

rootfolder
    Commands
    Controllers
    Views
    Models
    etc..

这样您就可以轻松地从根目录导航 (/app/controllers/yourcontroller.php).

在此处找到解决方案http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html#controller-class-naming

因此,如果我们在 /commands/test/UserTestController 中有控制器,并从控制台执行 actionCreateEmpty 操作,我们应该将其命名为 php yii test/user-test/create-empty