26

I have experienced Zend Framework 1 and I've build some apps with that framework.

Now, I'm experimenting Zend Framework 2, but I'm stuck on the url parameters. I've setup my routing like this:

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

As you can see, I've tried to make a variable slug. How can I access this variable?

1

4 Answers 4

55

Or simply:

$slug= $this->params('slug'); 
Sign up to request clarification or add additional context in comments.

Comments

27

Why not this one:

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

1 Comment

This is the preferred method now.
25

From here:

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

More documentation here, but it looks kind of incomplete.

Comments

20

you can simply use this as well

$this->params()->fromQuery('slug',null); $this->params()->fromPost('slug',null); 

I hope it works...

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.