在Kohana 3.3中进行路由调试

时间:2013-02-21 17:49:36

标签: php kohana-3

我找到了调试路线的代码。

$route = Route::get('default');
echo Kohana_Debug::dump($route->matches('en/start/index'));

当我在引导程序中使用代码时,会返回错误:

  

ErrorException [可恢复错误]:参数1传递给   Kohana_Route :: matches()必须是Request的实例,给定字符串,

如何在Kohana 3.3中调试路由?

1 个答案:

答案 0 :(得分:1)

根据您的评论,我认为您的路线错误。应该看起来更像这样:

Route::set('default', '(<lang>(/<controller>(/<action>(/<id>))))

注意括号位于<lang>附近。

要测试URL是否与Route匹配,您无法将字符串传递给$my_route->match()方法。虽然它确实说你可以在docs中,但该方法只接受Request对象。这将使您的代码看起来更像:

$route = Route::get('default');
$request = Request::factory('en/start/index');

echo Debug::dump($route->matches($request));

上述内容应在失败时输出FALSE或在成功时输出所有路由参数的array

如果您需要更强大的工具,您可能需要查看bluehawk's devtools module,虽然看起来它的开发在Kohana 3.1.x停止并且在新版本中不太可能正常工作,但我没有亲自使用它

修改

我已经完成并努力并更新了Devtools module。随意从my repository抓取它,你就可以测试你的路线了。