Question

I try to use a router with phalcon. This is how it is included in index.php right after registering the 'events manager':

$di->set('router', function(){
    require __DIR__.'/../app/config/routes.php';
    return $router;
});

and this is how the routes.php looks like:

<?php
$router = new Phalcon\Mvc\Router(false);

$router->add("/", array(
    'controller' => 'index',
    'action' => 'index'
));

$router->add("/topics", array(
    'controller' => 'wurst',
    'action' => 'index'
));

$router->handle();
return $router;

The website reacts as if the router was not existent. /topics and topics say this:

TopicsController handler class cannot be loaded

and I also cannot use a die("test"); function inside routes.php . nothing happens.
I also tried to activate it without a separate file, but the result was the same :(

(The sample web-application INVO was used as starting point for my site )

Was it helpful?

Solution 3

now it seems to work:

Action 'route404' was not found on handler 'index'

the problem was , that I put the function to set the router in index.php within "set dispatcher function". ..did not see the closing braces.

OTHER TIPS

$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI); will use default $_SERVER['REQUEST_URI']

If your index/index action is working when you access domain.com/index.php, check that you are using proper uri source, if using nginx or php built-in server you might have some problems with routing and $_GET['_uri'] which phalcon use for handling uris.

can find more about it on phalcon router documentation about uri sources -> http://docs.phalconphp.com/en/latest/reference/routing.html#uri-sources

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top