Ok, probably I know what break views but I have no idea why it works on my dev machine and why doesn't work on production server.
In my Routes i have code similar to this: https://github.com/phalcon/cphalcon/issues/284#issuecomment-11723075 which rewrites /controller/some-method to Controller::someMethodAction
// Route for controller action (support dashes in actions)
$router->add("/:controller/:action[/]?", array(
'namespace' => 'App\Controllers\\',
'controller' => 1,
'action' => 2,
))->convert('action', function($action) {
return Phalcon\Text::camelize($action);
});
// Route for controller action params (support dashes in actions)
$router->add("/:controller/:action/:params[/]?", array(
'namespace' => 'App\Controllers\\',
'controller' => 1,
'action' => 2,
'params' => 3
))->convert('action', function($action) {
return Phalcon\Text::camelize($action);
});
This code change $this->view->action to uppercase. For example this url works:
/controller (executes controller/index)
but this doesn't work:
/controller/index
When I rename /views/controller/index.volt to /views/controller/Index.volt everything is ok. Is possible to use URLs with dashes without renaming views?