Lubomir Borisov
Lubomir Borisov

Reputation: 168

The requested URL could not be matched by routing. ZF2

This is the error that i am getting. I am learning zf2 from a book but they forget to say where i should put this piece of code (i tried few attempts but none of them wokred.) This is my module.config.php

<?php
return array(
    'controllers' => array(
        'invokables' => array(
            'Users\Controller\Index' =>
                'Users\Controller\IndexController',
            'Users\Controller\Register' =>
                'Users\Controller\RegisterController',
            'Users\Controller\Login' =>
                'Users\Controller\LoginController',
            'Users\Controller\UserManager' =>
                'Users\Controller\UserManagerController',
        ),
    ),
    'router' => array(
        'routes' => array(
            'users' => array(
                'type' => 'Literal',
                'options' => array(
                    'route' => '/users',
                    'defaults' => array(
                        '__NAMESPACE__' => 'Users\Controller',
                        'controller' => 'Index',
                        'action' => 'index',
                    ),
                ),
                'may_terminate' => true,
                'child_routes' => array(
                    'default' => array(
                        'type' => 'Segment',
                        'options' => array(
                            'route' =>
                                '/[:controller[/:action]]',
                            'constraints' => array(
                                'controller' =>
                                    '[a-zA-Z][a-zA-Z0-9_-]*',
                                'action' =>
                                    '[a-zA-Z][a-zA-Z0-9_-]*',
                            ),
                            'defaults' => array(),
                        ),
                    ),
                ),
            ),
        ),
    ),
    'view_manager' => array(
        'template_path_stack' => array(
            'users' => __DIR__ . '/../view',
        ),
    ),
);

Where should this be ?

'user-manager' => array(
    'type' => 'Segment',
    'options' => array(
        'route' => '/User-manager[/:action[/:id]]',
        'constraints' => array(
            'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
            'id' => '[a-zA-Z0-9_-]*',
        ),
        'defaults' => array(
            'controller' => 'Users\Controller\UserManager',
            'action' => 'index',
        ),
    ),
),

The url is

http://zend2.com/users/user-manager/edit/5

Thank you !

Upvotes: 1

Views: 996

Answers (1)

Otto Sandstr&#246;m
Otto Sandstr&#246;m

Reputation: 745

It should be in the 'child_routes' array instead of the default route. which should depending if you want to use it should be on the same level as 'users'

Also in the route the address is written with a uppercase U in User-manager this is case sensative so you should write ur address as http://zend2.com/users/User-manager/edit/5

Upvotes: 2

Related Questions