Moduleに新しいコントローラーを追加し、URLを介して呼び出すには、どのファイルで変更を加える必要がありますか。
他の構成ファイルを変更せずに、新しいコントローラーファイルを追加し、URLを介して呼び出す方法はありますか?
コントローラファイルを追加または編集するたびに構成ファイルを変更するのは非常に面倒です。
Moduleに新しいコントローラーを追加し、URLを介して呼び出すには、どのファイルで変更を加える必要がありますか。
他の構成ファイルを変更せずに、新しいコントローラーファイルを追加し、URLを介して呼び出す方法はありますか?
コントローラファイルを追加または編集するたびに構成ファイルを変更するのは非常に面倒です。
ダニエルが「あなたの目的を満たす一致するルートがあることを確認してください...」で言ったことに少し説明を加えています。私の目的のために、module/Application/src/Application/Controller/IndexController.php および module/Application/src/Application/Controller/ProfileController.php へのルートに対応しようとしましたが、ProfileController への解決に苦労しました。また、ZF2 が 1 つのモジュールに複数のコントローラーを収容できるかどうかも明確ではありませんでした。私は確かにそうしなければならないと思ったし、そうしている!上記の 2 つのコントローラーを使用して、module/Application/config/module.config.php 内の「ルーター」配列を作成した方法を次に示します。
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index',
),
),
),
'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(
),
),
),
),
),
'profile' => array(
'type' => 'literal',
'options' => array(
'route' => '/profile',
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
'controller' => 'Profile',
'action' => 'index',
),
),
),
),
),
また、これは、成功した後、modules.config.php で私の「コントローラー」呼び出し可能ファイルがどのように見えるかです。
'controllers' => array(
'invokables' => array(
'Application\Controller\Index' => 'Application\Controller\IndexController',
'Application\Controller\Profile' => 'Application\Controller\ProfileController'
),
),
新しいコントローラーを作成するには、少なくとも
controllers.invokables
モジュールの にエントリを作成しますmodule.config.php
。この 3 つの簡単な手順を回避する方法はありません。module.config.php
コントローラーを追加するときにを適応させることが問題になる理由がわかりません-それが構成ファイルの目的です。開く、保存する、閉じるを含めて、これには約 10 分かかります。10〜15秒。何百ものコントローラを作成するつもりはありませんよね?