私は今日、同じモジュールになくても、2 つのコントローラーが同じ名前を持っている場合、zf2 があまり好きではないことを発見しました。ただし、localhost/users/types と localhost/messages/types を呼び出せるようにする必要があります
今のところ、私の 2 つのコントローラーは同じ名前です。また、モジュールの名前が何であれ、localhost/nonexistingmodule/types oO であっても、常にメッセージ/タイプの結果が得られることも発見しました
ここに私のmodule.config.phpがどのように見えるかがあります:
return array(
'controllers' => array(
'invokales' => array(
'messages' => 'Messages\Controller\MessagesController,
'messages' => 'Messages\Controller\TypesController,
),
),
'di' => array(
'instance' => array(
'alias' = array(),
),
),
'router' => array(
'routes => array(
'restful' => array(
'type' => 'Zend\Mvc\Router\Http\Segment'
'options' => array(
'route' => '/Messages/:controller[.:formatter][/:id],
'constraints' => array(
'module' => '[a-zA-Z][a-zA-Z0-9_-]*',
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'formater' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z0-9_-]*',
),
'defaults' => array(
'module' => 'Messages',
),
),
),
),
),
'view_manager' => array( ... ),
);
制約で 'module' => 'Messages' を設定しようとしましたが (:p はわかりません)、404 エラーが発生しました。Tasks モジュールの module.config.php は同じですが、タスク用です。私はもともとエイリアスを持っていましたが、どこかでこれがあまり推奨されていないことを読んだ後、それらを削除しました。
もう1つ、これはREST APIです。すべてのコントローラーはAbstractRestfulControllerを拡張します(これが重要な場合)
私の2つのURLを機能させる方法を知っている人はいますか?
ありがとう :)