CodeIgniter 구성 경로php 사용 예 분석

WBOY
풀어 주다: 2016-07-29 09:06:04
원래의
990명이 탐색했습니다.

이 기사에서는 CodeIgniter 구성에서 Routes.php의 사용법을 예제를 통해 분석합니다. 참조용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

application/config/routes.php는 $route라는 배열을 정의합니다. 이 배열은 기본 경로와 404 페이지를 설정하는 데 사용됩니다. 매칭 방법.

기본 구성은 다음과 같습니다.

$route['default_controller'] = "welcome";
$route['404_override'] = '';

로그인 후 복사

default_controller는 기본 컨트롤러 이름을 지정하고, 404_override는 404 발생 시 호출할 컨트롤러 이름을 지정합니다. 때로는 구문 분석이 실패하거나 기본 페이지에 남아 있을 수 있습니다. $this->router를 호출하여 현재 구문 분석된 컨트롤러 및 작업 이름을 인쇄할 수 있습니다. 예를 들어 다음과 같이 MY_Controller에서 인쇄할 수 있습니다.

var_dump($this->router->fetch_directory());
var_dump($this->router->fetch_class());
var_dump($this->router->fetch_method());

로그인 후 복사

어떤 컨트롤러가 구문 분석되는지 확인한 다음 URL 구성, 서버 구성 및 수행할 수 있는 작업을 살펴보세요. Router.php 및 URI.php의 디버그.

$route 배열은 와일드카드(:num, :any) 및 정규식을 통해 다시 쓰기 규칙을 설정할 수도 있습니다. 다음은 몇 가지 간단한 예입니다.

1. local/admin/detail_1.htm 요청은 처리를 위해 http://pc.local/admin/detail.htm?user_id=1로 확인됩니다.
Codeigniter는 쿼리 문자열이 포함된 규칙 다시 작성을 지원하지 않습니다. 이 규칙은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

$route['admin/detail_(:num)'] = 'admin/detail?user_id=$1';


그러나 실제로는 적용되지 않으며 프로그램은 admin/detail?user_id=와 일치합니다. 1 그런 다음 "/"로 구분합니다. 인덱스 0은 컨트롤러 이름이고 인덱스 1은 메서드 이름입니다. 즉, 위의 세부 정보?user_id=1이 메서드 이름에 할당됩니다. , 결과는 404가 됩니다. 분리 원칙을 이해한 후 클래스 이름과 메소드 이름이 올바른지 확인하기 위해 세부 사항 뒤에 슬래시를 추가할 수 있습니다. 예:

코드 복사 코드는 다음과 같습니다:

$route['admin/detail_(:num)'] = 'admin/detail/?user_id=$1';


그러나 또 다른 매개변수 획득 문제가 있습니다. 이번에는 세 번째 매개변수가 메소드에 전달됩니다. $_GET 또는 $this->input->get을 사용해야 하는 경우 다음과 같은 매개변수를 처리해야 합니다.

코드 복사 코드는 다음과 같습니다:

parse_str(ltrim($query_string, '?'), $_GET);


2 PATH_INFO의 URL 형식 다시 쓰기 규칙은 상대적으로 지원됩니다. http://pc.local/admin/1 형식을 구현하려면

코드 복사 코드는 다음과 같습니다.

$route[ 'admin/(:num)'] = 'admin/detail/$1';


매개변수는 단락을 통해서만 얻을 수 있습니다.

참고: 경로는 정의된 순서대로 실행됩니다. 상위 수준 경로는 항상 하위 수준 경로보다 우선합니다.

마지막으로 설정할 수 있는 경로에는 CI를 사용하는 것이 좋습니다. CI를 사용하면 서버 구성에 의존하지 않습니다.

CodeIgniter 프레임워크와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "codeigniter 튜토리얼 소개"를 확인할 수 있습니다.

이 기사에 설명된 내용이 CodeIgniter 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그램 설계에 도움이 됩니다.

위 내용을 포함하여 CodeIgniter 구성에서 Routesphp 사용에 대한 예제 분석을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿