2

現在、ZF2 アプリケーションをセットアップしていますが、ルーターで行き詰まりました。セグメント化されたルーティングの Zend の例を調べました。

$route = Segment::factory(array(
    'route' => '/:controller[/:action]',
    'constraints' => array(
        'controller' => '[a-zA-Z][a-zA-Z0-9_-]+',
        'action'     => '[a-zA-Z][a-zA-Z0-9_-]+',
    ),
    'defaults' => array(
        'controller' => 'Application\Controller\IndexController',
        'action'     => 'index',
    ),
));

http://example.com/Maps/editを呼び出すと、Zend は自動的に MapController に「移動」し、EditAction() を呼び出します。MapController に Factory を使用しているため、次のようなソリューションを探しています

$route = Segment::factory(array(
    'route' => '/:factory[/:action]',
    'constraints' => array(
        'factory' => '[a-zA-Z][a-zA-Z0-9_-]+',
        'action'     => '[a-zA-Z][a-zA-Z0-9_-]+',
    ),
    'defaults' => array(
        'factory' => 'Application\Controller\Factory\DefaultControllerFactory',
        'action'     => 'index',
    ),
));

基本的に、単一のファクトリを手動でリストすることなく、フレームワークがコントローラではなくファクトリにアクセスできるようにしたいと考えています。

ご提案ありがとうございます。

4

1 に答える 1

1

コントローラマネージャはServiceManagerであり、すべてのサービスマネージャ機能が適用されます。呼び出し可能として宣言する代わりに、コントローラーファクトリを登録します

于 2013-01-31T01:04:29.460 に答える