Php 如何在yii2高级控制台中运行组件类?

Php 如何在yii2高级控制台中运行组件类?,php,console,yii2-advanced-app,Php,Console,Yii2 Advanced App,yii2高级 我已经创建了一个控制器-console/components/OneController.php //One namespace console\controllers; use Yii; use yii\console\Controller; Class OneController extends Controller{ public function actionIndex(){ echo 'one!'; return true;

yii2高级

我已经创建了一个
控制器
-console/components/OneController.php

//One
namespace console\controllers;
use Yii;
use yii\console\Controller;

Class OneController extends Controller{
    public function actionIndex(){
        echo 'one!';
        return true;
    }
}

//command in console:
php yii one

//result:
one!
//Two
namespace console\controllers;
use Yii;
use yii\console\Controller;

Class TwoController extends Controller{
    public function actionIndex(){
        echo 'two!';
        return true;
    }
}
它起作用了

我正在为我的测试
控制器
组件创建
我的文件夹
我正在创建我的控制器-console/components/TwoController.php

//One
namespace console\controllers;
use Yii;
use yii\console\Controller;

Class OneController extends Controller{
    public function actionIndex(){
        echo 'one!';
        return true;
    }
}

//command in console:
php yii one

//result:
one!
//Two
namespace console\controllers;
use Yii;
use yii\console\Controller;

Class TwoController extends Controller{
    public function actionIndex(){
        echo 'two!';
        return true;
    }
}
console\config\main-local.php

'controllerMap' => [
    'fixture' => [
        'class' => 'yii\console\controllers\FixtureController',
        'namespace' => 'common\fixtures',
    ],
    'two' => [
        'class' => 'yii\console\components\TwoController',//++
    ],
],


//command in console:
php yii two
它不起作用。如何在
我的文件夹中运行我的
控制器

Administrator@WIN-XXXXXXXXXXX c:\Administrator\OpenServer\OpenServer\domains\mysite.us
$ php yii two
An Error occurred while handling another error:
exception 'ReflectionException' with message 'Class yii\console\components\TwoController does not exist' in C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\di\Container.php:424
Stack trace:
#0 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\di\Container.php(424): ReflectionClass->__construct('yii\\console\\com...')
#1 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\di\Container.php(364): yii\di\Container->getDependencies('yii\\console\\com...')
#2 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\di\Container.php(156): yii\di\Container->build('yii\\console\\com...', Array, Array)
#3 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\BaseYii.php(344): yii\di\Container->get('yii\\console\\com...', Array, Array)
#4 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\base\Module.php(578): yii\BaseYii::createObject(Array, Array)
#5 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\UnknownCommandException.php(79): yii\base\Module->createController('test')
#6 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\ErrorHandler.php(35): yii\console\UnknownCommandException->getSuggestedAlternatives()
#7 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\console\ErrorHandler->renderException(Object(yii\console\UnknownCommandException))
#8 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\console\UnknownCommandException))
#9 {main}
Previous exception:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "two".' in C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\base\Module.php:532
Stack trace:
#0 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\Application.php(180): yii\base\Module->runAction('two', Array)
#1 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\Application.php(147): yii\console\Application->runAction('two', Array)
#2 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\base\Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))
#3 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\yii(27): yii\base\Application->run()
#4 {main}

Next exception 'yii\console\UnknownCommandException' with message 'Unknown command "two".' in C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\Application.php:183
Stack trace:
#0 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\console\Application.php(147): yii\console\Application->runAction('two', Array)
#1 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\vendor\yiisoft\yii2\base\Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))
#2 C:\Administrator\OpenServer\OpenServer\domains\mysite.us\yii(27): yii\base\Application->run()
#3 {main}

yii\console\components`是到
TwoController`的正确路径吗?我这样写。但是不起作用(是
yii\console\components`到
TwoController`的正确路径吗?我这样写。但是不起作用(