0
// The following is a route to simplify getting started creating
            // new controllers and actions without needing to create a new
            // module. Simply drop new controllers in, and you can access them
            // using the path /application/:controller/:action
            'application' => array(
                'type'    => 'Literal',
                'options' => array(
                    'route'    => '/application',
                    'defaults' => array(
                        '__NAMESPACE__' => 'Application\Controller',
                        'controller'    => 'Index',
                        'action'        => 'index',
                    ),
                ),
                'may_terminate' => true,
                'child_routes' => array(
                    'default' => array(
                        'type'    => 'Segment',
                        'options' => array(
                            'route'    => '/[:controller[/:action]]',
                            'constraints' => array(
                                'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                                'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                            ),
                            'defaults' => array(
                            ),
                        ),
                    ),
                ),
            ),

クラス TestController を使用して TestController.php を作成しました。メソッド indexAction がありますが、/application/index/test または /application/index/index と記述すると、このルートを使用して実行できません。すべて問題ありませんが、コントローラーをテストに変更しても機能しません。つまり、/application/test/test または /application/test/index です。

4

1 に答える 1

1

新しいコントローラーをアプリケーションの module.config.php の controllers['invokables'] 構成セクションに追加することを忘れないでください。

'controllers' => array(
        'invokables' => array(
            'Application\Controller\Index' => 'Application\Controller\IndexController',
            'Application\Controller\Test' => 'Application\Controller\TestController',
        ),
    ),
于 2013-03-29T07:40:49.100 に答える