Kohana 3: yaşatılabilir yolları kullanarak

2 Cevap php

Ben bir web projesi için Kohana v3 kullanıyorum ve bugün kendimi bu yazı bulundu:

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

Ben kullanıcı denetleyicisi action_view yöntemini yeniden adlandırırsanız, bağlantı kesilir. Bunu önlemek için, ben kullanıcının profilini görüntülemek için kullanılan URL'sini döndürür kullanıcı modeli bir işlevi oluşturuldu:

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

(Django adlı url() ve {% url %} benzer) bunu yapmak için başka bir (temiz) bir yolu var mı?

PS: İngilizcemi dilerim.

2 Cevap

Evet rota adını kullanarak yönlendirme ters istiyorum. Böyle bir şey deneyin:

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

Ne istiyorsun ters yönlendirme denir. Eğer (sonunda parametreleri ile) bir rota "isim" var ve bir modül / eylem çifti ile ya da bir türlü / yolu ile ilişkilendirmek.

Gelecekte istediğiniz gibi eylemlerin adını değiştirebilirsiniz Eğer öyleyse o zaman bu yol adı yerine doğrudan denetleyicisi / eylem yolunu kullanın.

here's a page that describes this. Kohana 2.x ters yönlendirme desteklenmiyor unutmayın (o 2.3 başvurduğunda o gerçekten 3.x demektir)