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'
                    ),
                ),
            ),
        ),
    ),
),

ただし、常に使用情報を出力するため、ルートと一致することはないようです。また、'test' などの単純なルートは一致しません。(ルートパラメータにがらくたを書き込むと、実行が失敗するZend\Mvc\Router\Exception\InvalidArgumentExceptionため、モジュールをロードするときにコンソールルートが認識されます)

それは私のせいですか、それとも最新の zf2 バージョンのバグですか?

4

1 に答える 1

7

ルート定義の一貫性のないインターフェースで解決策を見つけました:

コントローラーに次のスキーマを指定すると機能します。

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

http ルートと同じ方法で定義できる方がよいでしょう。

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

そのための問題を開いたところです:http://framework.zend.com/issues/browse/ZF2-515

于 2012-09-02T13:37:51.243 に答える