2011-03-04 3 views
0

, 나는 함수의 끝 부분이 하나 있습니다URL 리디렉션을 올바르게 수행하는 방법은 무엇입니까? 액션 클래스에서

$this->redirect("/myproject_dev.php/login/"); 

하는 내가 하드 코드 URL의 개발 프로젝트 이름을합니다. 물론 내가 개발을하는 동안 작동하지만, 생산과 관련하여, 나는 그것을 제거해야합니다.

그래서 코드에서 프로젝트 이름 ("myproject_dev.php")을 어떻게 찾을 수 있습니까? 이 문제를 해결할 수있는 현명한 방법이 ..

$this->redirect($myProjectDevName . "login/"); 

또는 : 그래서 나는이 작업을 수행 할 수있다?

감사합니다. 제안

은 ------ 추가 ---

그래서, 나는 public_path을 사용했다. 하지만 루트 경로 만 반환합니다.

내가 개발 모드에서 실행할 때 함수가 있는지 궁금 해요

: 자사의 액션 클래스

http://mydomain.com/myproject_dev.php/whatever 

: $ this-> (public_path ('로그인')) 리디렉션이; 내가 생산 실행하면 동안 http://mydomain.com/myproject_dev.php/login

결과 : http://mydomain.com/whatever
액션 클래스가 변경되지 않습니다 : $ this-> 리디렉션 (public_path ('로그인')); 그러면 다음과 같이 반환됩니다 : http://mydomain.com/login

또는 .. 응용 프로그램 이름 및 심포니 환경 이름을 얻는 방법은 무엇입니까?

:

+0

이 리디렉션의 맥락 무엇 ... 함수

$this->redirect("MODULENAME/ACTION"); ex: $this->redirect("pim/admin"); 

을이이 핌 모듈 관리 조치로 리디렉션됩니다에 넣고 시도 - 특히, 당신은 왜를 지정해야 할 앱으로 리디렉션 중입니까? – yitznewton

답변

1

당신은 심포니 라우팅 시스템을 사용하고 routing.yml에서 라우팅 규칙을 호출해야 시도 할 수 :

$this->redirect('@login'); 

이렇게하면 환경과 분리되어 변경 될 필요가 없습니다. 프로덕션 환경으로 이동할 준비가되면 무엇이든 할 수 있습니다.

+0

나는 시험해 보았다. 그러나 @login은 작동하지 않습니다. 라우팅 규칙에서 무엇을 설정해야합니까? – murvinlai

+0

http://www.symfony-project.org/jobeet/1_4/Doctrine/ko/5 – Tom

0

관련 문제