문제

웹 프로젝트에 Kohana V3를 사용하고 있으며 오늘은 다음을 작성했습니다.

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

내가 이름을 바꾸면 action_view 메소드 사용자 컨트롤러에서 링크가 끊어집니다. 이를 피하기 위해 사용자 모델에서 사용자의 프로필을 보는 데 사용되는 URL을 반환하는 기능을 만들었습니다.

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

이 작업을 수행하는 또 다른 (더 깨끗한) 방법이 있습니다 (Django의 것과 유사합니다. url() 그리고 {% url %})?

추신 : 내 영어 실례.

도움이 되었습니까?

해결책

예, 경로 이름을 사용하여 리버스 라우팅을 원합니다. 다음과 같은 것을 시도하십시오.

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

다른 팁

필요한 것은 리버스 라우팅이라고합니다. 당신은 경로 "이름"(결국 매개 변수 포함)을 가지고 있으며 모듈/액션 쌍 또는 뭐든지/경로와 연결합니다.

그런 다음 직접 컨트롤러/액션 경로 대신이 경로 이름을 사용하므로 향후 원하는 동작 이름을 변경할 수 있습니다.

다음은 이것을 설명하는 페이지입니다. Kohana에서 2.x 리버스 라우팅이 지원되지 않는다는 점에 유의하십시오 (그래서 그가 2.3을 언급 할 때 그는 실제로 3.x를 의미합니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top