2012-08-13 16 views
7

मेरा ज़ेंड फ्रेमवर्क 2 एप्लिकेशन में एक रूट परिभाषा है जो डिफ़ॉल्ट ज़ेंड फ्रेमवर्क 1 रूट की नकल करने की कोशिश कर रही है। ऐसा लगता है कि:ज़ेंड फ्रेमवर्क 2 पार्ट रूट असेंबली

 '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', 
         ), 
        ), 
       ), 
      ), 
     ), 

यह मार्गों ठीक से मेल खाता है, लेकिन मैं Url दृश्य सहायक का उपयोग कर मनमाने ढंग से मानकों के साथ मार्गों को इकट्ठा नहीं कर सकते।

उदाहरण के लिए

,

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

परिणाम /test/test बजाय /test/test/id/5 में।

क्या कोई इस तरह के आंशिक मार्गों को इकट्ठा करने के बारे में जानता है? या क्या ZF1- शैली के मार्ग प्राप्त करने का एक बेहतर तरीका है?

उत्तर

10

यह पता चला है कि आपको Url देखें सहायक में पूरे रूट नाम (बाल मार्ग सहित) निर्दिष्ट करने की आवश्यकता है।

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

जो /test/test/id/5 की एक यूआरएल में परिणाम होगा:

रूटर मेरे सवाल में परिभाषित का उपयोग करना, उचित दृश्य सहायक कॉल की तरह लग रहे हैं।

संबंधित मुद्दे