전역 함수 및 상수
CodeIgniter는 전역적으로 정의되고 언제든지 사용할 수 있는 몇 가지 함수와 변수를 제공합니다. 추가 라이브러리나 도우미를 로드할 필요가 없습니다.
글로벌 기능
서비스 접근자
- cache([$key])
- 매개변수:
$key (
string) – 캐시에서 검색할 항목의 캐시 이름(선택 사항)
- 반환:
캐시 객체 또는 캐시에서 검색된 항목
- 반환 형식:
mixed
$key이 제공되지 않으면 캐시 엔진 인스턴스를 반환합니다. $key이 제공되면 현재 캐시에 저장된 $key 값을 반환하거나, 값이 없으면 null을 반환합니다.
예:
<?php $foo = cache('foo'); $cache = cache();
- config(string $name[, bool $getShared = true])
- 매개변수:
$name (
string) – 구성 클래스 이름입니다.$getShared (
bool) – 공유 인스턴스를 반환할지 여부입니다.
- 반환:
구성 인스턴스.
- 반환 형식:
object|null
팩토리에서 구성 인스턴스를 가져오는 더 간단한 방법입니다.
자세한 내용은 Configuration 및 Factories을 참조하세요.
config()은 내부적으로Factories::config()을 사용합니다. 첫 번째 매개변수$name에 대한 자세한 내용은 클래스 로딩을 참조하세요.
- cookie(string $name[, string $value = ''[, array $options = []]])
- 매개변수:
$name (
string) – 쿠키 이름$value (
string) – 쿠키 값$options (
array) – 쿠키 옵션
- 반환 형식:
Cookie- 반환:
Cookie인스턴스- 던진다:
CookieException
새 쿠키 인스턴스를 생성하는 더 간단한 방법입니다.
- cookies([array $cookies = [][, bool $getGlobal = true]])
- 매개변수:
$cookies (
array) –getGlobal이false인 경우 이는CookieStore의 생성자에 전달됩니다.$getGlobal (
bool) –false인 경우CookieStore의 새 인스턴스를 만듭니다.
- 반환 형식:
CookieStore- 반환:
현재
Response에 저장된CookieStore의 인스턴스 또는 새CookieStore인스턴스.
Response이 보유한 전역CookieStore인스턴스를 가져옵니다.
- env($key[, $default = null])
- 매개변수:
$key (
string) – 검색할 환경 변수의 이름$default (
mixed) – 값이 없을 경우 반환할 기본값입니다.
- 반환:
환경 변수, 기본값 또는 null입니다.
- 반환 형식:
mixed
이전에 환경에 설정된 값을 검색하거나, 찾을 수 없는 경우 기본값을 반환하는 데 사용됩니다. 문자열 표현 대신 부울 값을 실제 부울로 형식화합니다.
데이터베이스 설정, API 키 등과 같이 환경 자체에 특정한 값을 설정하기 위해 .env 파일과 함께 사용할 때 특히 유용합니다.
- esc($data[, $context = 'html'[, $encoding]])
- 매개변수:
$data (
string|array) – 이스케이프할 정보입니다.$context (
string) – 이스케이프 컨텍스트입니다. 기본값은 ‘html’입니다.$encoding (
string) – 문자열의 문자 인코딩입니다.
- 반환:
이스케이프된 데이터입니다.
- 반환 형식:
mixed
XSS 공격을 방지하기 위해 웹 페이지에 포함할 데이터를 이스케이프합니다. 이는 Laminas Escaper 라이브러리를 사용하여 데이터의 실제 필터링을 처리합니다.
$data이 문자열이면 단순히 이스케이프하여 반환합니다. $data이 배열인 경우 키/값 쌍의 각 ‘값’을 이스케이프하여 반복합니다.
유효한 컨텍스트 값:
html,js,css,url,attr,raw
- helper($filename)
- 매개변수:
$filename (
string|array) – 로드할 도우미 파일의 이름 또는 이름 배열입니다.
도우미 파일을 로드합니다.
자세한 내용은 헬퍼 함수 페이지를 참조하세요.
- lang($line[, $args[, $locale]])
- 매개변수:
$line (
string) – 검색할 언어 파일 이름과 텍스트 키입니다.$args (
array) – 자리 표시자를 대체할 데이터 배열입니다.$locale (
string) – 현재 로케일 대신 사용할 다른 로케일을 지정하십시오.
- 반환:
언어 파일의 텍스트
- 반환 형식:
list<string>|string
언어 파일에서 텍스트를 검색합니다.
자세한 내용은 언어 현지화을 참조하세요.
- model($name[, $getShared = true[, &$conn = null]])
- 매개변수:
$name (
string) – 모델 클래스 이름입니다.$getShared (
boolean) – 공유 인스턴스를 반환할지 여부입니다.$conn (
ConnectionInterface|null) – 데이터베이스 연결.
- 반환:
모델 인스턴스
- 반환 형식:
모델 인스턴스를 얻는 더 간단한 방법입니다.
model()은 내부적으로Factories::models()을 사용합니다. 첫 번째 매개변수$name에 대한 자세한 내용은 클래스 로딩을 참조하세요.Using CodeIgniter’s Model도 참조하세요.
- old($key[, $default = null[, $escape = 'html']])
- 매개변수:
$key (
string) – 확인할 이전 양식 데이터의 이름입니다.$default (
string|null) – $key이 존재하지 않는 경우 반환할 기본값입니다.$escape (
false|string) – 비활성화하려면 escape 컨텍스트 또는 false입니다.
- 반환:
정의된 키의 값 또는 기본값입니다.
- 반환 형식:
array|string|null
양식 제출 시 “이전 입력 데이터”에 액세스하는 간단한 방법을 제공합니다.
예:
<?php // in controller, checking form submittal if (! $model->save($user)) { // 'withInput()' is what specifies "old data" should be saved. return redirect()->back()->withInput(); } ?> <!-- In your view file: --> <input type="email" name="email" value="<?= old('email') ?>"> <!-- Or with arrays: --> <input type="email" name="user[email]" value="<?= old('user.email') ?>">
참고
form helper에서 set_value(), set_select(), set_checkbox() 및 set_radio() 함수를 사용하는 경우 이 기능이 내장되어 있습니다. 양식 도우미를 사용하지 않을 때만 이 기능을 사용해야 합니다.
- session([$key])
- 매개변수:
$key (
string) – 확인할 세션 항목의 이름입니다.
- 반환:
$key이 없으면 Session 개체의 인스턴스, $key에 대한 세션에서 발견된 값 또는 null입니다.
- 반환 형식:
mixed
세션 클래스에 액세스하고 저장된 값을 검색하는 편리한 방법을 제공합니다. 자세한 내용은 Sessions 페이지를 참조하세요.
- timer([$name])
- 매개변수:
$name (
string) – 벤치마크 포인트의 이름입니다.
- 반환:
타이머 인스턴스
- 반환 형식:
CodeIgniterDebugTimer
Timer 클래스에 대한 빠른 액세스를 제공하는 편리한 메서드입니다. 벤치마크 포인트의 이름을 유일한 매개변수로 전달할 수 있습니다. 이 시점부터 타이밍이 시작되거나, 이 이름의 타이머가 이미 실행 중인 경우 타이밍이 중지됩니다.
예:
<?php // Get an instance $timer = timer(); // Set timer start and stop points timer('controller_loading'); // Will start the timer // ... timer('controller_loading'); // Will stop the running timer
- view($name[, $data[, $options]])
- 매개변수:
$name (
string) – 로드할 파일 이름$data (
array) – 뷰 내에서 사용할 수 있는 키/값 쌍의 배열입니다.$options (
array) – 렌더링 클래스에 전달될 옵션 배열입니다.
- 반환:
뷰의 출력입니다.
- 반환 형식:
string
현재 RendererInterface 호환 클래스(기본적으로 View 클래스)를 잡고 지정된 뷰를 렌더링하도록 지시합니다. 컨트롤러, 라이브러리, 라우팅 클로저에서 사용할 수 있는 편리한 메소드를 간단히 제공합니다.
현재
$options배열 내에서 다음 옵션을 사용할 수 있습니다.saveData은 동일한 요청 내에서view()에 대한 여러 호출 간에 데이터가 지속되도록 지정합니다. 데이터를 유지하지 않으려면 false를 지정하십시오.cache은 뷰를 캐시할 시간(초)을 지정합니다. 자세한 내용은 뷰 캐싱을 참조하세요.debug을 false로 설정하면 Debug Toolbar에 대한 디버그 코드 추가를 비활성화할 수 있습니다.
$option배열은 주로 Twig와 같은 라이브러리와의 타사 통합을 용이하게 하기 위해 제공됩니다.예:
<?php $data = ['user' => $user]; echo view('user_profile', $data);
- view_cell($library[, $params = null[, $ttl = 0[, $cacheName = null]]])
- 매개변수:
$library (
string)$params (
null)$ttl (
integer)$cacheName (
string|null)
- 반환:
뷰 셀은 뷰 내에서 다른 클래스에서 관리하는 HTML 청크를 삽입하는 데 사용됩니다.
- 반환 형식:
string
자세한 내용은 View Cells 페이지를 참조하세요.
기타 기능
- app_timezone()
- 반환:
애플리케이션이 날짜를 표시하도록 설정된 시간대입니다.
- 반환 형식:
string
애플리케이션이 날짜를 표시하도록 설정된 시간대를 반환합니다.
- csp_script_nonce()
- 반환:
스크립트 태그에 대한 CSP nonce 속성입니다.
- 반환 형식:
string
스크립트 태그의 nonce 속성을 반환합니다. 예:
nonce="Eskdikejidojdk978Ad8jf". Content Security Policy을 참조하세요.
- csp_style_nonce()
- 반환:
스타일 태그에 대한 CSP nonce 속성입니다.
- 반환 형식:
string
스타일 태그의 nonce 속성을 반환합니다. 예:
nonce="Eskdikejidojdk978Ad8jf". Content Security Policy을 참조하세요.
- csrf_token()
- 반환:
현재 CSRF 토큰의 이름입니다.
- 반환 형식:
string
현재 CSRF 토큰의 이름을 반환합니다.
- csrf_header()
- 반환:
현재 CSRF 토큰의 헤더 이름입니다.
- 반환 형식:
string
현재 CSRF 토큰의 헤더 이름입니다.
- csrf_hash()
- 반환:
CSRF 해시의 현재 값입니다.
- 반환 형식:
string
현재 CSRF 해시 값을 반환합니다.
- csrf_field()
- 반환:
모든 필수 CSRF 정보가 포함된 숨겨진 입력을 위한 HTML이 포함된 문자열입니다.
- 반환 형식:
string
CSRF 정보가 이미 삽입된 숨겨진 입력을 반환합니다.
<input type="hidden" name="{csrf_token}" value="{csrf_hash}">
- csrf_meta()
- 반환:
모든 필수 CSRF 정보가 포함된 메타 태그용 HTML이 포함된 문자열입니다.
- 반환 형식:
string
CSRF 정보가 이미 삽입된 메타 태그를 반환합니다.
<meta name="{csrf_header}" content="{csrf_hash}">
- force_https($duration = 31536000[, $request = null[, $response = null]])
- 매개변수:
$duration (
int) – 브라우저가 이 리소스에 대한 링크를 HTTPS로 변환해야 하는 시간(초)입니다.$request (
RequestInterface) – 현재 요청 개체의 인스턴스입니다.$response (
ResponseInterface) – 현재 Response 개체의 인스턴스입니다.
현재 페이지가 HTTPS를 통해 액세스되고 있는지 확인합니다. 그렇다면 아무 일도 일어나지 않습니다. 그렇지 않은 경우 사용자는 HTTPS를 통해 현재 URI로 다시 리디렉션됩니다.
$duration에 대한 HTTP 요청을 HTTPS 요청으로 자동 수정하도록 최신 브라우저에 지시하는 HTST(HTTP Strict Transport Security) 헤더를 설정합니다.참고
이 함수는
Config\App:$forceGlobalSecureRequests을 true로 설정할 때도 사용됩니다.
- function_usable($functionName)
- 매개변수:
$functionName (
string) – 확인하는 기능
- 반환:
함수가 존재하고 호출해도 안전하면 true이고, 그렇지 않으면 false입니다.
- 반환 형식:
bool
- is_cli()
- 반환:
스크립트가 명령줄에서 실행되고 있으면 true이고, 그렇지 않으면 false입니다.
- 반환 형식:
bool
- is_really_writable($file)
- 매개변수:
$file (
string) – 확인 중인 파일 이름입니다.
- 반환:
파일에 쓸 수 있으면 true이고, 그렇지 않으면 false입니다.
- 반환 형식:
bool
- is_windows([$mock = null])
- 매개변수:
$mock (
bool|null) – 주어진 경우 부울이면 반환 값으로 사용됩니다.
- 반환 형식:
bool
플랫폼이 Windows에서 실행 중인지 감지합니다.
참고
$mock에 제공된 부울 값은 후속 호출에서 유지됩니다. 이 모의 값을 재설정하려면 사용자는 명시적인
null을 함수 호출에 전달해야 합니다. 그러면 자동 감지를 사용하도록 기능이 새로 고쳐집니다.<?php is_windows(true); // some code ... if (is_windows()) { // do something .. } is_windows(null); // reset
- log_message($level, $message[, $context])
- 매개변수:
$level (
string) – 심각도 수준$message (
string) – 기록할 메시지입니다.$context (
array) – $message에서 대체되어야 하는 태그 및 해당 값의 연관 배열입니다.
- 반환:
무효의
- 반환 형식:
bool
참고
v4.5.0부터 반환 값이 PSR Log와 호환되도록 수정되었습니다. 이전 버전에서는 성공적으로 기록되면
true을 반환하고, 기록에 문제가 있으면false을 반환했습니다.app/Config/Logger.php에 정의된 로그 처리기를 사용하여 메시지를 기록합니다.
레벨은
emergency,alert,critical,error,warning,notice,info또는debug값 중 하나일 수 있습니다.컨텍스트를 사용하여 메시지 문자열의 값을 대체할 수 있습니다. 자세한 내용은 Logging Information 페이지를 참조하세요.
- redirect(string $route)
- 매개변수:
$route (
string) – 사용자를 리디렉션할 경로 이름 또는 Controller::method입니다.
- 반환 형식:
RedirectResponse
쉽게 리디렉션을 만들 수 있도록 RedirectResponse 인스턴스를 반환합니다. 자세한 내용은 리디렉션을 참조하세요.
- remove_invisible_characters($str[, $urlEncoded = true])
- 매개변수:
$str (
string) – 입력 문자열$urlEncoded (
bool) – URL로 인코딩된 문자도 제거할지 여부
- 반환:
살균된 문자열
- 반환 형식:
string
이 기능은 Java\0script와 같은 ASCII 문자 사이에 널 문자가 삽입되는 것을 방지합니다.
예:
<?php remove_invisible_characters('Java\\0script'); // Returns: 'Javascript'
- request()
Added in version 4.3.0.
- 반환:
공유 요청 객체입니다.
- 반환 형식:
IncomingRequest|CLIRequest
이 함수는
Services::request()및service('request')에 대한 래퍼입니다.
- response()
Added in version 4.3.0.
- 반환:
공유 응답 객체입니다.
- 반환 형식:
Response
이 함수는
Services::response()및service('response')에 대한 래퍼입니다.
- route_to($method[, ...$params])
- 매개변수:
$method (
string) – 경로 이름 또는 Controller::method...$params (
int|string) – 경로에 전달될 하나 이상의 매개변수입니다. 마지막 매개변수를 사용하면 로케일을 설정할 수 있습니다.
- 반환:
경로 경로(baseURL에 상대적인 URI 경로)
- 반환 형식:
string
참고
이 기능을 사용하려면 컨트롤러/메소드에 app/Config/Routes.php에 경로가 정의되어 있어야 합니다.
중요
route_to()은 사이트의 전체 URI 경로가 아닌 route 경로를 반환합니다. baseURL에 하위 폴더가 포함된 경우 반환 값은 연결할 URI와 동일하지 않습니다. 이 경우 대신url_to()을 사용하세요. URL 구조도 참조하세요.컨트롤러::메소드 조합을 기반으로 경로를 생성합니다. 제공된 경우 매개변수를 적용합니다.
<?php // The route is defined as: $routes->get('users/(:num)/gallery/(:num)', 'Galleries::showUserGallery/$1/$2'); ?> <?php // Generate the route with user ID 15, gallery 12: route_to('Galleries::showUserGallery', 15, 12); // Result: '/users/15/gallery/12'
경로 이름을 기반으로 경로를 생성합니다.
<?php // The route is defined as: $routes->get('users/(:num)/gallery/(:num)', 'Galleries::showUserGallery/$1/$2', ['as' => 'user_gallery']); ?> <?php // Generate the route with user ID 15, gallery 12: route_to('user_gallery', 15, 12); // Result: '/users/15/gallery/12'
v4.3.0부터 경로에
{locale}을 사용할 때 선택적으로 로케일 값을 마지막 매개변수로 지정할 수 있습니다.<?php // The route is defined as: $routes->add( '{locale}/users/(:num)/gallery/(:num)', 'Galleries::showUserGallery/$1/$2', ['as' => 'user_gallery'], ); ?> <?php // Generate the route with user ID 15, gallery 12 and locale en: route_to('user_gallery', 15, 12, 'en'); // Result: '/en/users/15/gallery/12'
- service($name[, ...$params])
- 매개변수:
$name (
string) – 로드할 서비스의 이름$params (
mixed) – 서비스 메소드에 전달할 하나 이상의 매개변수입니다.
- 반환:
지정된 서비스 클래스의 인스턴스입니다.
- 반환 형식:
mixed
시스템에 정의된 모든 Services에 대한 쉬운 액세스를 제공합니다. 이는 항상 클래스의 공유 인스턴스를 반환하므로 단일 요청 중에 이것이 호출되는 횟수에 관계없이 하나의 클래스 인스턴스만 생성됩니다.
예:
<?php $logger = service('logger'); $renderer = service('renderer', APPPATH . 'views/');
- single_service($name[, ...$params])
- 매개변수:
$name (
string) – 로드할 서비스의 이름$params (
mixed) – 서비스 메소드에 전달할 하나 이상의 매개변수입니다.
- 반환:
지정된 서비스 클래스의 인스턴스입니다.
- 반환 형식:
mixed
이 함수에 대한 모든 호출이 클래스의 새 인스턴스를 반환한다는 점을 제외하면 위에 설명된 service() 함수와 동일합니다. 여기서 service은 매번 동일한 인스턴스를 반환합니다.
- slash_item($item)
- 매개변수:
$item (
string) – 구성 항목 이름
- 반환:
구성 항목 또는 항목이 존재하지 않는 경우 null
- 반환 형식:
string|null
슬래시가 추가된 구성 파일 항목 가져오기(비어 있지 않은 경우)
- stringify_attributes($attributes[, $js])
- 매개변수:
$attributes (
mixed) – 문자열, 키 값 쌍의 배열 또는 객체$js (
boolean) – 값에 따옴표가 필요하지 않으면 true(Javascript 스타일)
- 반환:
쉼표로 구분된 속성 키/값 쌍을 포함하는 문자열
- 반환 형식:
string
문자열, 배열 또는 속성 개체를 문자열로 변환하는 데 사용되는 도우미 함수입니다.
전역 상수
다음 상수는 애플리케이션 내 어디에서나 항상 사용할 수 있습니다.
핵심 상수
- constant APPPATH
app 디렉터리의 경로입니다.
- constant ROOTPATH
프로젝트 루트 디렉터리의 경로입니다.
APPPATH바로 위에 있습니다.
- constant SYSTEMPATH
system 디렉터리의 경로입니다.
- constant FCPATH
전면 컨트롤러가 있는 디렉터리의 경로입니다.
- constant WRITEPATH
writable 디렉터리의 경로입니다.
시상수
- constant SECOND
1과 같습니다.
- constant MINUTE
60과 같습니다.
- constant HOUR
3600과 같습니다.
- constant DAY
86400과 같습니다.
- constant WEEK
604800과 같습니다.
- constant MONTH
2592000과 같습니다.
- constant YEAR
31536000과 같습니다.
- constant DECADE
315360000과 같습니다.