質問

私はKohana v3をWebプロジェクトに使用していますが、今日私はこれを書いていることに気付きました:

echo Html::anchor('user/view/'.$user->id, "See user's profile");

ユーザーコントローラーで action_view メソッドの名前を変更すると、リンクが壊れます。これを避けるために、ユーザーのプロファイルを表示するために使用されるURLを返すUserモデルの関数を作成しました。

echo Html::anchor($user->url_view(), "See user's profile");

これを行う別の(よりクリーンな)方法があります(Djangoの url()および {%url%} と同様)?

PS:英語をすみません。

役に立ちましたか?

解決

はい、ルート名を使用した逆ルーティングが必要です。次のようなものを試してください:

echo Html::anchor(
   Route::get('your_route_name')->uri(array('id'=>$user->id)), 
   "See user's profile"
);

他のヒント

必要なものは逆ルーティングと呼ばれます。ルート「名前」があります(最終的にパラメータを使用)、モジュール/アクションペアまたはwhatever / pathに関連付けます。

その後、直接のコントローラー/アクションパスの代わりにこのルート名を使用して、将来のアクションの名前を好きなように変更できるようにします。

ここに説明するページがありますこれ。 kohana 2.xではリバースルーティングがサポートされていないことに注意してください(したがって、2.3を指すときは本当に3.xを意味します)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top