CI 프레임 워 크 소스 판독 의 URI.php 중fetch_uri_string()함수 용법 분석

본 고의 실례 는 CI 프레임 워 크 URI.php 에서fetch_uri_string()함수 용법.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
APPPATH/config/config.php 에서 url 형식 을 작성 합 니 다.

$config['uri_protocol'] = 'AUTO';

이 설정 항목 은 URL 을 작성 할 서버 전역 변 수 를 정의 합 니 다.
기본 설정 은 auto 입 니 다.다음 네 가지 방식 으로 한 번 문의 하 겠 습 니 다.링크 가 작 동 하지 않 을 때 auto 밖의 옵션 을 사용 해 보 세 요.
'AUTO'            Default - auto detects
'PATH_INFO'        Uses the PATH_INFO
'QUERY_STRING'            Uses the QUERY_STRING
'REQUEST_URI'        Uses the REQUEST_URI
'ORIG_PATH_INFO'    Uses the ORIG_PATH_INFO 
CI_URI 의 몇몇 구성원 변수

$keyval = array(); //List  of cached uri segments
$uri_string; //Current  uri string
$segments //List  of uri segments
$rsegments = array() //Re-indexed  list of uri segments

가 져 온 current uri string 할당$uristring,function 을 통 해set_uri_string($str)。
$str 를 가 져 오 면 몇 가지 옵션 이 있 습 니 다.즉fetch_uri_string()의 업무 절차 부분 입 니 다.
묵인

$config['uri_protocol'] = 'AUTO'
프로그램 은 다음 과 같은 방식 으로 URI 를 가 져 옵 니 다.
(1)프로그램 이 CLI 에서 실 행 될 때,즉 명령 행 에서 php 파일 을 내 릴 때.ci 는 이렇게 URI 를 획득 합 니 다.

private function _parse_cli_args()
{
  $args = array_slice($_SERVER['argv'], 1);
  return $args ? '/' .implode('/',$args) : '';
}

$_SERVER[argv]는 스 크 립 트 가 CLI 에서 실 행 될 때 c 형식의 명령 행 인 자 를 포함 합 니 다.
$캡 처SERVER[argv]에서 첫 번 째 를 제외 한 모든 인자 
명령 행 에서 이렇게 하면

php d:\wamp\www\CodeIgniter\index.php\start\index

_parse_cli_args()는/index.php/start/index 문자열 을 되 돌려 줍 니 다.
(2)기본적으로 REQUEST 사용URI 가 url 을 탐지 할 때 개인 함 수 를 호출 합 니 다.  _detect_uri()
(3)위의 두 가지 방식 으로 uri 를 얻 지 못 하면$SERVER['PATH_INFO]획득 하 겠 습 니 다.

$path = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO']  : @getenv('PATH_INFO');
if (trim($path, '/')  != '' && $path != "/".SELF)
{
  $this->_set_uri_string($path);
  return;
}

(4)위의 세 가지 방식 을 모두 얻 을 수 없다 면 사용 하 라.
$_SERVER['QUERY_STRING']혹은 getenv['QUERYSTRING']

$path = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');
if (trim($path, '/') != '')
{
  $this->_set_uri_string($path);
  return;
}

(5)위의 네 가지 방법 으로 URI 를 얻 을 수 없 으 면$를 사용 해 야 합 니 다.GET 배열 입 니 다.방법 이 없습니다.

if (is_array($_GET) && count($_GET) == 1 && trim(key($_GET), '/') != '')
{
  $this->_set_uri_string(key($_GET));
  return;
}

2.config.php 에서 설정:

$config['uri_protocol']

그러면 프로그램 은 자동 으로 해당 동작 을 실행 하여 uri 를 가 져 옵 니 다.
더 많은 CodeIgniter 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,codeigniter 입문 강좌,CI(CodeIgniter)프레임 워 크 진급 강좌
본 고 에서 말 한 것 이 여러분 이 CodeIgniter 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기