我尝试使用带有phalcon的路由器。这是在注册'events manager'之后立即包含在index.php中的方式:
$di->set('router', function(){
require __DIR__.'/../app/config/routes.php';
return $router;
});
这就是routes.php的样子:
<?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;
网站的反应就好像路由器不存在一样。 /主题和主题说:
TopicsController handler class cannot be loaded
我也不能使用骰子(“测试”); routes.php中的函数。没有任何反应 我也尝试在没有单独文件的情况下激活它,但结果是一样的:(
(示例网络应用程序INVO用作我网站的起点)
答案 0 :(得分:4)
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);
将使用默认的$ _SERVER [&#39; REQUEST_URI&#39;]
答案 1 :(得分:0)
如果您访问domain.com/index.php时索引/索引操作正常,请检查您是否使用了正确的uri源,如果使用nginx或php内置服务器,则可能会遇到路由问题和$ _GET ['_uri'] phalcon用于处理uris。
可以在有关uri来源的phalcon路由器文档中找到更多相关信息 - &gt; http://docs.phalconphp.com/en/latest/reference/routing.html#uri-sources
答案 2 :(得分:0)
现在似乎有效:
Action 'route404' was not found on handler 'index'
问题是,我把函数设置为在“set dispatcher function”中的index.php 中设置路由器。 ..没有看到关闭的大括号。