2

ルートをデバッグするためのコードを見つけました。

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

ブートストラップでコードを使用すると、エラーが返されます。

ErrorException [回復可能なエラー]:Kohana_Route :: matches()に渡される引数1は、Requestのインスタンスである必要があり、文字列が指定され、

Kohana 3.3でルートをデバッグする方法は?

4

1 に答える 1

1

あなたのコメントに基づいて、あなたのルートは間違っているように私には見えます。次のようになります。

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

角かっこが周りにあることに注意してください<lang>

$my_route->match()URLがルートと一致するかどうかをテストするには、メソッドに文字列を渡すことはできません。docsでできるとは言っていますが、このメソッドはRequestオブジェクトのみを受け入れます。これにより、コードは次の行に沿って表示されます。

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

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

上記はFALSE、失敗した場合、またはarray成功した場合にルーティングされたすべてのパラメーターのいずれかを出力する必要があります。

より強力なツールが必要な場合は、bluehawkのdevtoolsモジュールを確認することをお勧めします。ただし、開発はKohana 3.1.xで停止されており、新しいバージョンでは正しく機能しない可能性がありますが、私は個人的に使用していません。

編集

Devtoolsモジュールを作成し、努力して更新しました。私のリポジトリから自由に入手してください。そうすれば、ルートをテストできるようになります。

于 2013-02-22T07:41:21.273 に答える