2012-09-02 2 views
2

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

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

'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?

ответ

7

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

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

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

было бы лучше, чтобы быть в состоянии определить его таким же образом, как HTTP маршруты:

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

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