전역 함수 및 상수

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

팩토리에서 구성 인스턴스를 가져오는 더 간단한 방법입니다.

자세한 내용은 ConfigurationFactories을 참조하세요.

config()은 내부적으로 Factories::config()을 사용합니다. 첫 번째 매개변수 $name에 대한 자세한 내용은 클래스 로딩을 참조하세요.

매개변수:
  • $name (string) – 쿠키 이름

  • $value (string) – 쿠키 값

  • $options (array) – 쿠키 옵션

반환 형식:

Cookie

반환:

Cookie 인스턴스

던진다:

CookieException

새 쿠키 인스턴스를 생성하는 더 간단한 방법입니다.

cookies([array $cookies = [][, bool $getGlobal = true]])
매개변수:
  • $cookies (array) – getGlobalfalse인 경우 이는 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) – 데이터베이스 연결.

반환:

모델 인스턴스

반환 형식:

object

모델 인스턴스를 얻는 더 간단한 방법입니다.

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);

자세한 내용은 Views렌더러 보기 페이지를 참조하세요.

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과 같습니다.