console command就像./yii hello/world.
我正在使用yii-app-basic.
我想要的不是在dir中创建控制台命令commands/而是在module.
1)您的模块应该实现BootstrapInterface:
class Module extends \yii\base\Module implements \yii\base\BootstrapInterface
{
public function bootstrap($app)
{
if ($app instanceof \yii\console\Application) {
$this->controllerNamespace = 'app\modules\my_module\commands';
}
}
}
Run Code Online (Sandbox Code Playgroud)
2)在模块commands文件夹中创建控制台控制器:
namespace app\modules\my_module\commands;
class ConsoleController extends \yii\console\Controller
{
public function actionIndex()
{
echo "Hello World\n";
}
}
Run Code Online (Sandbox Code Playgroud)
3)将模块添加到应用控制台配置config/console.php:
'bootstrap' => [
// ... other bootstrap components ...
'my_module',
],
'modules' => [
// ... other modules ...
'my_module' => [
'class' => 'app\modules\my_module\Module',
],
],
Run Code Online (Sandbox Code Playgroud)
4)您现在可以使用您的命令:
yii my_module/console/index
Run Code Online (Sandbox Code Playgroud)