----------------템플릿과 상수에 사용되는 시스템 변수 --------------
(1) 시스템 변수 : 템플릿의 출력 시스템 변수: server, env, session, post, get, request, cookie 포함
{$Think.server.script_name} // $_SERVER 변수 출력
{$Think . session.session_id|md5} // $_SESSION 변수 출력
{$Think.get.pageNumber} // $_GET 변수 출력
{$Think.cookie.name} // $_COOKIE 변수 출력
위 메소드는 다음과 같이 작성할 수도 있습니다.
{$_SERVER.script_name} // $_SERVER 변수 출력
{$_SESSION.session_id|md5} // $_SESSION 변수 출력
{$_GET .pageNumber} // $_GET 변수 출력
{$_COOKIE.name} // $_COOKIE 변수 출력
시스템 상수: $Think.const를 사용하여 출력
참고: 서버, 쿠키 및 구성은 대소문자를 구분하지 않지만 변수는 대소문자를 구분합니다. 예:
{$Think.server.script_name}과 {$Think.SERVER.script_name}은 동일합니다.
SESSION, COOKIE는 2차원 배열의 출력도 지원합니다
예:
{$Think.CONFIG.user.user_name}
{$Think.session.user.user_name}
시스템은 3차원 이상의 배열 출력을 지원하지 않습니다.
(2) 언어 변수 : 프로젝트의 현재 언어 정의 값을 출력
{$Think.lang.page_error}
{$Think.const.MODULE_NAME}
또는
{$Think.MODULE_NAME}
을 직접 사용합니다. (3) 특수 변수: ThinkPHP 시스템에서 내부적으로 정의한 상수
{$Think.version} //버전
{$Think.now} //현재 시간
{$Think.template|basename} //템플릿 페이지
{$Think.LDELIM} / /템플릿 라벨 시작 기호
{$Think.RDELIM} //템플릿 라벨 종료 기호
(4) 구성 매개변수: 프로젝트의 구성 매개변수 값을 출력
{$Think.config.db_charset}
출력값은 C('db_charset')의 결과와 동일합니다.
-----------------------------액션에 사용되는 시스템 상수- - --------------------------------------
THINK_PATH // ThinkPHP 시스템 디렉터리
APP_PATH // 현재 프로젝트 디렉터리
APP_NAME // 현재 프로젝트 이름
MODULE_NAME // 현재 모듈 이름
ACTION_NAME // 현재 작업 이름
TMPL_PATH // 프로젝트 템플릿 디렉터리
LIB_PATH // 프로젝트 클래스 라이브러리 디렉토리
CACHE_PATH // 프로젝트 템플릿 캐시 디렉토리
CONFIG_PATH // 프로젝트 구성 파일 디렉토리
LOG_PATH // 프로젝트 로그 파일 디렉토리
LANG_PATH // 프로젝트 언어 파일 디렉토리
TEMP_PATH // 프로젝트 임시 file 디렉토리
PLUGIN_PATH // 프로젝트 플러그인 파일 디렉토리
VENDOR_PATH // 타사 라이브러리 디렉토리
DATA_PATH // 프로젝트 데이터 파일 디렉토리
IS_APACHE // Apache에 속하는지 여부
IS_IIS // IIS에 속하는지
IS_WIN //Windows 환경에 속하는지
IS_LINUX //Linux 환경에 속하는지
IS_FREEBSD //FreeBsd 환경에 속하는지
NOW_TIME //현재 타임스탬프
MEMORY_LIMIT_ON //메모리 유무 사용 제한
OUTPUT_GZIP_ON // 출력 압축 활성화 여부
MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC
THINK_VERSION //ThinkPHP 버전 번호
LANG_SET // 브라우저 언어
TEMPLATE_NAME //현재 템플릿 이름
TEMPLATE_PATH //현재 템플릿 경로
__ROOT__ //웹사이트 루트 디렉터리 주소
__APP__ //현재 프로젝트(항목 파일) 주소
__URL__ //현재 모듈 주소
__ACTION__ //현재 작업 주소
__SELF__ //현재 URL 주소
TMPL_FILE_NAME //현재 작업의 기본 템플릿 이름(경로 포함)
WEB_PUBLIC_URL //웹사이트 공개 디렉터리
APP_PUBLIC_URL //프로젝트 공개 템플릿 디렉터리
------ --------------------- 템플릿에 사용되는 시스템 상수 -- -------- ----------------
__ROOT__ // 웹사이트 루트 디렉터리 주소
__APP__ // 현재 프로젝트(항목 파일) 주소
__URL__ // 현재 모듈 주소
__ACTION__ // 현재 작업 주소
__SELF__ // 현재 URL 주소
__PUBLIC__ // 웹사이트 공개 디렉터리
. ./Public (대소문자 구분 안 함) ) // 프로젝트 공개 템플릿 디렉터리
참고: 상수를 사용할 때 템플릿이 로드된 후 브라우저에서 소스 코드를 보면 상수를 사용하는 일부 URL을 관찰할 수 있습니다. 서버의 IP 주소를 볼 수 없는 현상
주소와 URL이 프로젝트 이름으로 시작하는데 왜 해당 컨트롤러에 올바르게 접근할 수 있나요? 사실 이건 브라우저에서 하는 장난인데, 해당 URL에 마우스를 대고 마우스 오른쪽 버튼을 클릭한 후 소스코드에 있는
URL을 복사해서 다른 곳에 붙여넣으면 서버의 IP가 나옵니다. URL에 사용된 상수에 서버 IP가 포함되어 있음을 알 수 있습니다.
------------------맞춤 상수---- - ----------------------
프로젝트 폴더(예: Home)에 Common을 생성합니다. Common 폴더에
을 추가하고 다음 명령문을 추가합니다.
define('XXX', XXX); //첫 번째 매개변수는 상수 이름, 두 번째 매개변수는 상수 값