2012-04-05 23 views
25

Zend Framework 1'i deneyimledim ve bu çerçeveyle bazı uygulamalar oluşturdum.ZF2: Denetleyicideki URL parametrelerini alın

Şimdi Zend Framework 2'yi deniyorum, ancak URL parametrelerine takılıyorum. Ben yönlendirme böyle kurulum ettik: Gördüğünüz gibi, ben bir değişken kurşunu yapmaya çalıştık

// Setup for router and routes 
'Zend\Mvc\Router\RouteStack' => array(
    'parameters' => array(
     'routes' => array(
      'default' => array(
       'type' => 'Zend\Mvc\Router\Http\Segment', 
       'options' => array(
        'route' => '/[:slug]', 
        'constraints' => array(
        'slug' => '[a-zA-Z][a-zA-Z0-9_\/-]*' 
        ), 
       'defaults' => array(
        'controller' => 'Htmlsite\Controller\BootController', 
        'action'  => 'index', 
        'slug' => 'home' 
        ), 
       ), 
      ), 
     'home' => array(
      'type' => 'Zend\Mvc\Router\Http\Literal', 
      'options' => array(
       'route' => '/', 
       'defaults' => array(
        'controller' => 'Htmlsite\Controller\BootController', 
        'action'  => 'index', 
        ), 
       ), 
      ), 
     ), 
    ), 
), 

. Bu değişkene nasıl erişebilirim?

+3

Arşiv amacıyla: Burada tam cevap çok: http: // stackoverflo w.com/questions/12077126/how-to-access-route-post-get-etc-parameters-in-zend-framework-2 – leticia

cevap

26
here itibaren

:

$slug = $this->getEvent()->getRouteMatch()->getParam('slug'); 

Daha dokümantasyon here, ancak tamamlanmamış görünüyor tür.

+0

Teşekkürler! Sadece neye ihtiyacım var :-) – koko

55

Veya sadece:

$slug= $this->params('slug'); 
19

sadece bu yanı

ben çalışır umut
$this->params()->fromQuery('slug',null); 
$this->params()->fromPost('slug',null); 

kullanabilirsiniz ...

25

Neden bu:

$this->params()->fromRoute('slug'); 
+7

Şimdi tercih edilen yöntem budur. – Diemuzi

İlgili konular