Консольные маршруты Zend Framework 2

Я пытаюсь определить некоторые консольные маршруты для своего приложения ZF2, как описано здесь http://packages.zendframework.com/docs/latest/manual/en/modules/zend.console.routes.html

в конфигурации модуля у меня есть:

'console' => array(
    'router' => array(
        'routes' => array(
            'user-set-password' => array(
                'options' => array(
                    'route' => 'user password <username> <password>',
                    'defaults' => array(
                        'controller' => 'User\Profile',
                        'action' => 'setpassword'
                    ),
                ),
            ),
        ),
    ),
),

но, похоже, он никогда не соответствует маршруту, поскольку всегда печатает информацию об использовании. также простые маршруты, такие как просто «тест», не будут сопоставлены. (когда я пишу какую-то хрень в параметр маршрута, выполнение завершается с ошибкой Zend\Mvc\Router\Exception\InvalidArgumentException, поэтому при загрузке модуля он распознает маршрут консоли)

это моя вина или может баг в последней версии zf2?


person Andreas Linden    schedule 02.09.2012    source источник


Ответы (1)


Я только что нашел решение в непоследовательном интерфейсе для определений маршрута:

это работает, если вы предоставляете следующую схему для контроллера:

'controller' => 'User\Controller\Profile'

было бы лучше определить его так же, как маршруты http:

'defaults' => array(
    '__NAMESPACE__' => 'User\Controller',
    'controller' => 'Profile',
    'action' => 'setpassword',
),

только что открыл для этого проблему: http://framework.zend.com/issues/browse/ZF2-515

person Andreas Linden    schedule 02.09.2012