2017-03-23 2 views
1

Je suis nouveau sur Zend-Framework3.Les routes enfant ne fonctionnent pas

Et la migration de mon application ZF2 vers ZF3.

Dans cet enfant, les routes ne fonctionnent pas.

Voici routeur de mon module.config.php

'router' => [ 
    'routes' => [ 
     'application' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/application', 
       'defaults' => [ 
        'controller' => Controller\IndexController::class, 
        'action' => 'index', 
       ], 
      ], 
      'may_terminate' => true, 
      'child_routes' => [ 
       'kk' => [ 
        'type' => Literal::class, 
        'options' => [ 
         'route' => 'kk', 
         'defaults' => [ 
          'controller' => Controller\IndexController::class, 
          'action' => 'kk' 
         ], 
        ], 
       ], 
      ] 
     ] 
    ], 
], 

Quand je tente d'appeler /application/kk action. Il génère 404 error.

Où est-ce que je me trompe? Ou dois-je enregistrer toutes les actions manuellement?

Répondre

3

... dois-je enregistrer toutes les actions manuellement?

Non, vous manquez juste / caractère de valeur d'itinéraire

'router' => [ 
    'routes' => [ 
     'application' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/application', 
       'defaults' => [ 
        'controller' => Controller\IndexController::class, 
        'action' => 'index', 
       ], 
      ], 
      'may_terminate' => true, 
      'child_routes' => [ 
       'kk' => [ 
        'type' => Literal::class, 
        'options' => [ 
         'route' => '/kk', <-- here 
         'defaults' => [ 
          'controller' => Controller\IndexController::class, 
          'action' => 'kk' 
         ], 
        ], 
       ], 
      ] 
     ] 
    ], 
], 

Tant que l'action kk existe, vous ne devriez pas obtenir l'erreur 404.

Si vos itinéraires sont identiques au nom de l'action. Vous pouvez utiliser Segment type:

'application' => [ 
     'type' => Segment::class, 
     'options' => [ 
      'route' => '/application[/:action]', 
      'constraints' => [ 
       'action' => '[a-zA-Z][a-zA-Z0-9_-]*' 
      ], 
      'defaults' => [ 
       'controller' => Controller\IndexController::class, 
       'action'  => 'index', 
      ], 
     ], 
    ]