ThinkPHP 프레임워크에서는 리디렉션 메소드를 사용하여 점프 기능을 구현할 수 있습니다. 이 메서드는 컨트롤러 기본 클래스에 정의되어 있으므로 컨트롤러에서 이를 직접 호출하여 즉시 점프 기능을 구현할 수 있습니다. 리디렉션 방법은 $url 및 $params라는 두 가지 매개변수를 허용합니다.
그 중 $url이 리디렉션된 URL 주소입니다. 매개변수는 단순 문자열, 배열 또는 #으로 시작하는 앵커 값일 수 있습니다. $Url 매개변수가 배열인 경우 라우팅 규칙 별칭, 컨트롤러 이름, 작업 이름 및 매개변수 목록을 포함할 수 있습니다. 즉, 배열은 서로 다른 요소를 지정하여 서로 다른 점프 효과를 얻을 수 있습니다.
$params는 GET 요청에 추가할 매개변수를 지정하는 데 사용할 수 있는 선택적 매개변수입니다. 이 매개변수는 URL에 쿼리 문자열(예: "?")이 없는 경우에만 유효합니다. URL에 이미 쿼리 문자열이 포함되어 있으면 $params가 무시됩니다.
다음은 리다이렉트 방식을 사용한 예시이다.
class IndexController extends Controller { public function index() { // 直接跳转到百度首页 $this->redirect('http://www.baidu.com'); } public function test() { // 跳转到当前控制器Index操作中 $this->redirect('Index/index'); // 跳转到Home控制器中的Index操作 $this->redirect('Home/Index/index'); // 跳转并传递$name参数 $this->redirect('Index/index', array('name' => 'ThinkPHP')); // 跳转并传递多个参数 $this->redirect('Index/index', array('name' => 'ThinkPHP', 'id' => 100)); } }
위 코드 예시에서는 리다이렉트 방식을 사용해 다양한 점프 기능을 구현했다. 예를 들어 $this->redirect('http://www.baidu.com');
는 바이두 홈페이지로 바로 점프하는 연산입니다. $this->redirect('Index/index');
는 현재 컨트롤러 인덱스 작업으로 점프합니다. $this->redirect('Home/Index/index');
는 홈 컨트롤러의 Index 작업을 나타냅니다. $this->redirect('Index/index', array('name' => 'ThinkPHP'));
는 점프하여 $name 매개변수를 전달합니다. $this->redirect('Index/index', array('name' => 'ThinkPHP', 'id' => 100));
는 점프하여 여러 매개변수를 전달하는 것입니다. $this->redirect('http://www.baidu.com');
就是直接跳转到百度首页的操作。 $this->redirect('Index/index');
则是跳转到当前控制器Index操作中。 $this->redirect('Home/Index/index');
指的是跳转到Home控制器中的Index操作。 $this->redirect('Index/index', array('name' => 'ThinkPHP'));
则是跳转并传递$name参数。 $this->redirect('Index/index', array('name' => 'ThinkPHP', 'id' => 100));
是跳转并传递多个参数。
除了将网页重定向到指定URL,redirect方法也可以将其重定向到路由规则的别名。在这种情况下,$url参数应该是一个路由别名,而不是URL地址。例如,假设我们有以下路由规则:
// 路由规则定义 'link/:id' => 'Links/link',
我们可以在控制器中使用路由规则别名“link”调用redirect方法,从而跳转到链接页面。例如:
class LinksController extends Controller { public function link() { $id = I('get.id'); $link = M('Links')->where(array('id'=>$id))->find(); // 验证链接是否存在 if ($link) { // 跳转到重定义的路由规则上 $this->redirect('link/'.$id); } else { $this->error('链接不存在!'); } } }
在上述代码示例中,我们在Links控制器的link方法中使用了重定向到重定义的路由规则别名的方法。 "$this->redirect('link/'.$id);"
"$this->redirect('link/'.$id);"
는 라우팅 별칭을 사용하고 매개변수를 전달하여 링크 페이지로 이동합니다. 🎜위 내용은 thinkphp3.2에서 즉시 점프 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구