ThinkPhP 프레임 워크를 사용하는 경우 페이지 점프는 일반적인 작업입니다. 특히 양식이 제출 된 후에는 결과 디스플레이를 위해 다른 페이지로 점프해야합니다. 기본적으로 ThinkPhp는 redirect () 함수를 사용하여 페이지 리디렉션을 수행하지만 때로는 매개 변수를 전달하거나 점프 경로 조정과 같은 점프 메소드를 수정해야합니다.
ThinkPhp에서 컨트롤러 및 메소드의 액세스 경로는 일반적으로 "컨트롤러 이름/메소드 이름"입니다. 예를 들어:
공개 기능 로그인 () { // ... $ this-> 리디렉션 ( 'index/index'); }
이 코드는 로그인 작업이 실행 된 후 인덱스 컨트롤러의 인덱스 메소드로 이동 함을 의미합니다.
다른 컨트롤러로 이동 해야하는 경우 다음과 같은 수정을 할 수 있습니다.
공개 기능 로그인 () { // ... $ this-> 리디렉션 ( '사용자/색인'); }
이 코드는 로그인 작업이 실행 된 후 사용자 컨트롤러의 인덱스 메소드로 이동 함을 나타냅니다.
때로는 점프 중에 매개 변수를 전달해야하며 redirect () 메소드에서 매개 변수를 추가 할 수 있습니다. 예를 들어:
공개 기능 로그인 () { // ... $ this-> 리디렉션 ( '사용자/색인', [ 'id'=> 1, 'name'=> 'test']); }
이 코드는 ID 및 이름 매개 변수를 대상 페이지로 전달하며 각각 1과 테스트 값이 있습니다.
대상 컨트롤러에서는 입력 () 함수를 통해 전달 된 매개 변수를 얻을 수 있습니다.
public function index () { $ id = 입력 ( 'id'); $ name = input ( 'name'); // ... }
이러한 방식으로 인덱스 방법에서 전달 된 ID 및 이름 매개 변수를받을 수 있습니다.
기본적으로 ThinkPhp는 Header () 함수를 사용하여 페이지 리디렉션을 수행합니다. 메타를 사용하여 점프하려면 구성 파일에서 수정할 수 있습니다.
// 헤더를 사용하여 'url_convert'=> true, 'url_common_param'=> true, 'url_route_on'=> true, 'url_html_suffix'=> 'html', // 메타를 사용하여 'url_meta_refresh'=> '1; url =',
이러한 방식으로 점프 중에 사용 된 기술을 수정할 수 있습니다.
ThinkPhp는 또한 객체를 사용하여 점프하는 방법을 제공합니다. 예를 들어 \ url 객체를 사용하여 점프 링크를 빌드 할 수 있습니다.
Think \ url을 사용하십시오. public function index () { // ... $ url = url :: build ( '사용자/색인', [ 'id'=> 1]); 리턴 리디렉션 ($ URL); }
이 코드는 인덱스 메소드에서 점프 링크를 생성하고 매개 변수 ID를 대상 페이지의 인덱스 메소드로 전달합니다.
점프 경로를 수정하고, 매개 변수를 전달하고, 점프 메소드를 수정하고, 객체 점프를 사용하여 개발자는 ThinkPHP에서 페이지 점프 작업을 유연하게 제어 할 수 있습니다. 이러한 기술은 코드의 유지 관리 및 확장 성을 향상시킬 수 있으며 실제 프로젝트에서 매우 유용합니다.