2012-08-13 20 views
7

Zend Framework 2 uygulamasında, varsayılan Zend Framework 1 yolunu taklit etmeye çalışan bir yol tanımı vardır. Sadece ince yolları maçlarıZend Framework 2 Kısım Rota Komplesi

 'router' => array(
      'routes' => array(
       'default' => array(
        'type' => 'segment', 
        'options' => array(
         'route' => '/[:controller[/:action]]', 
         'defaults' => array(
          '__NAMESPACE__' => 'Application\Controller', 
          'controller' => 'Index', 
          'action'  => 'index', 
         ), 
        ), 
        'may_terminate' => true, 
        'child_routes' => array(
         'wildcard' => array(
          'type' => 'wildcard', 
         ), 
        ), 
       ), 
      ), 
     ), 

ama Url görünümü yardımcı kullanarak keyfi parametrelerle yolları monte edemez: gibi görünüyor. Örneğin

, /test/test yerine /test/test/id/5 içinde

$this->url('default', array('controller' => 'test', 'action' => 'test', 'id' => 5)); 

sonuçlanır.

Böyle kısmi rotaları nasıl monte edeceğini bilen var mı? Veya ZF1 tarzı rotaları almanın daha iyi bir yolu var mı?

cevap

10

Bu, Url görünüm yardımcısında tüm rota adını (çocuk yolları dahil) belirtmeniz gerektiği ortaya çıkıyor. /test/test/id/5 bir url neden olacaktır

$this->url('default/wildcard', array('controller' => 'test', 'action' => 'test', 'id' => 5)); 

: Soruma tanımlanan yönlendirici kullanma

, düzgün görünüm yardımcı çağrı gibi görünecektir.