전역 함수와 상수

CodeIgniter는 전역적으로 정의되어 있으며, 언제든지 사용할 수 있는 몇 가지 함수와 상수를 제공합니다. 이를 사용하기 위해 추가 라이브러리나 헬퍼를 로드할 필요가 없습니다.

전역 함수

서비스 Accessors

cache([$key])
Parameters
  • $key (string) – 캐시에서 검색할 항목의 캐시 이름 (Optional)

Returns

캐시 오브젝트 또는 캐시에서 검색된 항목

Return type

mixed

$key가 제공되지 않으면 캐시 엔진 인스턴스를 반환합니다. $key가 제공되면 현재 캐시에 저장된 $key의 값을 반환하거나 값이 없으면 null을 반환합니다.

<?php

$foo   = cache('foo');
$cache = cache();
Parameters
  • $name (string) – Cookie 이름

  • $value (string) – Cookie 값

  • $options (array) – Cookie 옵션

Return type

Cookie

Returns

Cookie instance

Throws

CookieException

새 쿠키 인스턴스를 만드는 간단한 함수입니다.

cookies([array $cookies = [][, bool $getGlobal = true]])
Parameters
  • $cookies (array) – getGlobalfalse라면 CookieStore의 생성자에 전달됩니다.

  • $getGlobal (bool) – false인 경우 CookieStore의 새 인스턴스를 만듭니다.

Return type

CookieStore

Returns

Response에 저장된 CookieStore인스턴스 또는 새로운 CookieStore 인스턴스.

Response가 보유한 전역 CookieStore를 가져옵니다.

env($key[, $default = null])
Parameters
  • $key (string) – 검색 할 환경 변수의 이름

  • $default (mixed) – 값을 찾지 못하면 반환할 기본값

Returns

환경 변수, 기본값 또는 null

Return type

mixed

이전에 환경으로 설정된 값을 검색하거나 기본값을 찾을 수 없는 경우, 기본값을 반환하는 데 사용합니다. 부울(bool) 값을 문자열 표현 대신 실제 부울로 형식화합니다.

데이터베이스 설정, API 키 등과 같이 환경 자체에 특정한 값을 설정하기 위해 .env 파일과 함께 사용하면 특히 유용합니다.

esc($data[, $context = 'html'[, $encoding]])
Parameters
  • $data (string|array) – 이스케이프할 정보(문자열)

  • $context (string) – escaping context. 기본값은 ‘html’

  • $encoding (string) – 문자열의 문자 인코딩.

Returns

escaped data.

Return type

mixed

XSS 공격을 방지하기 위해 웹 페이지에 포함할 데이터를 이스케이프(escape)합니다. 데이터 필터링을 처리하기 위해 Laminas Escaper 라이브러리를 사용합니다.

$data가 문자열(string)이면 단순히 이스케이프하여 반환합니다. $data가 배열이면 키/값 쌍중 ‘값’을 반복하여 이스케이프 처리합니다.

지정 가능한 context 값: html, js, css, url, attr, raw

helper($filename)
Parameters
  • $filename (string|array) – 로드할 헬퍼 파일의 이름 또는 이름의 배열.

헬퍼 파일을 로드합니다.

자세한 내용은 헬퍼(helper) 함수 페이지를 참조하십시오.

lang($line[, $args[, $locale]])
Parameters
  • $line (string) – 검색 할 텍스트

  • $args (array) – 자리표시자(placeholders)를 대체 할 데이터 배열

  • $locale (string) – 기본 로케일(locale) 대신 사용할 다른 로케일

문자열을 기반으로 로케일 특정 파일을 검색합니다.

자세한 내용은 Localization 페이지를 참조하십시오.

model($name[, $getShared = true[, &$conn = null]])
Parameters
  • $name (string) – model 클래스명.

  • $getShared (boolean) – 공유 인스턴스를 반환 여부.

  • $conn (ConnectionInterface|null) – DB 연결.

Returns

모델 인스턴스를 가져오는 더 간단한 방법

Return type

object

모델 인스턴스를 얻는 간단한 방법

old($key[, $default = null[, $escape = 'html']])
Parameters
  • $key (string) – 확인할 이전 양식 데이터의 이름

  • $default (mixed) – $key가 존재하지 않으면 반환 할 기본값

  • $escape (mixed) – 이스케이프 컨텍스트 또는 false

Returns

정의된 키의 값 또는 기본값

Return type

mixed

제출된 양식(form)의 “이전 입력 데이터”에 액세스하는 간단한 방법을 제공합니다.

<?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') ?>">

Note

폼(form) 헬퍼를 사용하는 경우 이 기능이 내장되어 있습니다. 폼 헬퍼를 사용하지 않는 경우에만 이 기능을 사용하십시오.

session([$key])
Parameters
  • $key (string) – 확인할 세션 항목의 이름

Returns

$key가 없는 경우 Session 객체의 인스턴스, 세션에서 찾은 $key 값 또는 null

Return type

mixed

세션 클래스에 액세스하고 저장된 값을 검색하는 편리한 방법을 제공합니다. 자세한 내용은 세션 페이지를 참조하십시오.

timer([$name])
Parameters
  • $name (string) – 벤치 마크 포인트의 이름.

Returns

타이머 인스턴스

Return type

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]])
Parameters
  • $name (string) – 로드할 파일 이름

  • $data (array) – 뷰 내에서 사용할 수있는 키/값 쌍의 배열

  • $options (array) – 렌더링 클래스로 전달 될 옵션 배열

Returns

뷰의 출력

Return type

string

RendererInterface 호환 클래스에게 지정된 뷰를 렌더링하도록 지시합니다. 컨트롤러, 라이브러리 및 라우팅 클로저에서 뷰를 사용할 수있는 편리한 방법을 제공합니다.

옵션은 다음과 같고 $options 배열을 통하여 사용할 수 있습니다.

  • saveData 동일한 요청의 view()를 여러번 호출하여도 데이터를 유지합니다. 데이터를 유지하지 않으려면 false를 지정합니다.

  • cache view를 캐시할 시간(초)을 지정합니다. 자세한 내용은 뷰 캐싱를 참조하세요.

  • debug false로 설정하여 Debug Toolbar에 대한 디버그 코드 추가를 비활성화합니다.

$option 배열은 Twig 같은 타사(third-party) 라이브러리와 통합을 용이하게 하기 위해 제공됩니다.

<?php

$data = ['user' => $user];

echo view('user_profile', $data);

자세한 내용은 페이지를 참조하십시오.

view_cell($library[, $params = null[, $ttl = 0[, $cacheName = null]]])
Parameters
  • $library (string) –

  • $params (null) –

  • $ttl (integer) –

  • $cacheName (string|null) –

Returns

HTML chunks

Return type

string

뷰 셀은 다른 클래스에서 관리하는 HTML 청크를 삽입하기 위해 뷰 내에서 사용됩니다.

자세한 내용은 뷰 셀 페이지를 참조하십시오.

기타 기능

app_timezone()
Returns

어플리케이션이 날짜를 표시하도록 설정된 시간대

Return type

string

어플리케이션이 날짜를 표시하도록 설정된 시간대를 반환합니다.

csp_script_nonce()
Returns

스크립트 태그에 대한 CSP nonce 속성입니다.

Return type

string

스크립트 태그의 nonce 속성을 반환합니다. 예: nonce="Eskdikejidojdk978Ad8jf". See 콘텐츠 보안 정책.

csp_style_nonce()
Returns

스타일 태그에 대한 CSP nonce 속성입니다.

Return type

string

스타일 태그의 nonce 속성을 반환합니다. 예: nonce="Eskdikejidojdk978Ad8jf". See 콘텐츠 보안 정책.

csrf_token()
Returns

현재 사용중인 CSRF 토큰의 이름

Return type

string

현재 사용중인 CSRF 토큰의 이름을 반환합니다.

csrf_header()
Returns

현재 사용중인 CSRF 토큰의 헤더 이름

Return type

string

현재 사용중인 CSRF 토큰의 헤더 이름입니다.

csrf_hash()
Returns

CSRF 해시의 현재 값

Return type

string

현재 사용중인 CSRF 해시 값을 반환합니다.

csrf_field()
Returns

CSRF 정보가 포함된 숨겨진 입력(hidden input) HTML 문자열

Return type

string

CSRF 정보가 포함된 숨겨진 입력(hidden input) HTML 문자열을 반환합니다.

<input type="hidden" name="{csrf_token}" value="{csrf_hash}">
csrf_meta()
Returns

CSRF 정보가 포함 된 메타 태그용 HTML 문자열

Return type

string

CSRF 정보가 포함된 메타 태그를 반환합니다.

<meta name="{csrf_header}" content="{csrf_hash}">
force_https($duration = 31536000[, $request = null[, $response = null]])
Parameters
  • $duration (int) – 브라우저가 이 리소스에 대한 링크를 HTTPS로 변환해야 하는 시간(초)

  • $request (RequestInterface) – 요청(request) 개체의 인스턴스

  • $response (ResponseInterface) – 응답(response) 개체의 인스턴스

페이지가 현재 HTTPS를 통해 액세스되고 있는지 확인합니다. HTTPS를 통해 액세스 되고 있다면 아무 일도 일어나지 않습니다. 그렇지 않은 경우 사용자는 HTTPS를 통해 현재 URI로 다시 리디렉션됩니다. HTTP Strict Transport Security 헤더를 설정하여 최신 브라우저가 HTTP 요청을 $duration에 대한 HTTPS 요청으로 자동 수정하도록 지시합니다.

function_usable($function_name)
Parameters
  • $function_name (string) – 함수 확인

Returns

함수가 존재하여 호출해도 안전한 경우 true, 그렇지 않으면 false

Return type

bool

is_really_writable($file)
Parameters
  • $file (string) – 확인할 파일명

Returns

파일에 쓸 수 있으면 true, 그렇지 않으면 false

Return type

bool

is_cli()
Returns

true(커맨드 라인(command line)에서 스크립트를 실행중인 경우) 또는 false(아닌 경우)

Return type

bool

log_message($level, $message[, $context])
Parameters
  • $level (string) – 심각도 수준

  • $message (string) – 기록 될 메시지

  • $context (array) – $message로 바꿔야할 태그와 값의 연관 배열

Returns

true(성공적으로 기록 된 경우) 또는 false(기록하는 데 문제가있는 경우)

Return type

bool

app/Config/Logger.php에 정의된 로그 처리기를 사용하여 메시지를 기록합니다..

레벨은 다음 값 중 하나일 수 있습니다: emergency, alert, critical, error, warning, notice, info, debug

컨텍스트는 메시지 문자열에서 값을 대체하는데 사용될 수 있습니다. 자세한 내용은 로깅 정보 페이지를 참조하십시오.

redirect(string $route)
Parameters
  • $route (string) – 사용자를 리디렉션할 역방향 경로(reverse-route) 또는 명명된 경로입니다.

Return type

RedirectResponse

Important

이 함수를 사용할 때 RedirectResponse의 인스턴스는 ControllerController Filter 메서드에서 반환되어야 합니다. 반환하는 것을 잊은 경우 리디렉션이 발생하지 않습니다.

쉽게 리디렉션을 만들수 있는 RedirectResponse 인스턴스를 반환합니다.

<?php

// Go back to the previous page
return redirect()->back();

// Go to specific URI
return redirect()->to('/admin');

// Go to a named route
return redirect()->route('named_route');

// Keep the old input values upon redirect so they can be used by the `old()` function
return redirect()->back()->withInput();

// Set a flash message
return redirect()->back()->with('foo', 'message');

// Copies all cookies from global response instance
return redirect()->back()->withCookies();

// Copies all headers from the global response instance
return redirect()->back()->withHeaders();

Note

redirect()->back()은 브라우저의 “back” 버튼과 다릅니다. 세션을 사용할 수 있을 때 방문자는 “세션중 마지막으로 본 페이지”로 이동합니다. 세션이 로드되지 않았거나 사용할 수 없는 경우 삭제된 HTTP_REFERER 버전이 사용됩니다.

함수에 인수를 전달할 때 상대/전체 URI(relative/full URI)가 아닌 네임드/리버스 경로(named/reverse-routed)로 처리되며 redirect()->route()를 사용하는 것과 동일하게 처리됩니다.

<?php

// Go to a named/reverse-routed URI
return redirect('named_route');
remove_invisible_characters($str[, $urlEncoded = true])
Parameters
  • $str (string) – 입력 문자열

  • $urlEncoded (bool) – URL 인코딩 문자도 제거할지 여부

Returns

안전한 문자열

Return type

string

이 함수는 “Java\0script”와 같은 문자열에서 null 문자를 제거 합니다.

<?php

remove_invisible_characters('Java\\0script');
// Returns: 'Javascript'
route_to($method[, ...$params])
Parameters
  • $method (string) – 명명된 라우트의 별명 또는 일치하는 컨트롤러/메소드의 이름입니다.

  • $params (int|string) – 라우트와 일치시키기 위해 전달할 하나 이상의 매개변수입니다.

Note

이 함수를 사용하려면 app/Config/routes.php에 컨트롤러/메서드로 정의된 경로가 필요합니다.

명명된 라우트 별칭 또는 controller::method 조합을 기반으로 경로를 생성합니다. 매개변수를 적용합니다.

<?php

// The route is defined as:
$routes->get('users/(:num)/gallery(:any)', '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(:any)', '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'

Note

route_to()는 사이트의 전체 URI 경로가 아닌 경로를 반환합니다. baseURL에 하위 폴더가 포함된 경우 반환 값은 연결할 URI와 동일하지 않습니다. 이런 경우에는 url_to()를 사용하세요.

service($name[, ...$params])
Parameters
  • $name (string) – 로드 할 서비스의 이름

  • $params (mixed) – 서비스 메소드에 전달할 하나 이상의 매개 변수

Returns

지정된 서비스 클래스의 인스턴스

Return type

mixed

시스템에 정의 된 모든 서비스에 쉽게 액세스 할 수 있습니다. 서비스 클래스의 공유 인스턴스가 반환되므로, 여러번 호출하더라도 인스턴스는 하나만 생성됩니다.

<?php

$logger   = service('logger');
$renderer = service('renderer', APPPATH . 'views/');
single_service($name[, ...$params])
Parameters
  • $name (string) – 로드 할 서비스의 이름

  • $params (mixed) – 서비스 메소드에 전달할 하나 이상의 매개 변수

Returns

An instance of the service class specified.

Return type

mixed

이 함수에 대한 모든 호출이 클래스의 새 인스턴스를 반화한다는 점을 제외하고 위에서 설명한 service() 함수와 동일합니다. service는 매번 동일한 인스턴스를 리턴합니다.

slash_item($item)
Parameters
  • $item (string) – Config item명

Returns

Config 항목(Item)이 없는 경우 null

Return type

string|null

슬래시가 추가된 구성(Config) 파일 항목을 가져옵니다. (값이 있는 경우)

stringify_attributes($attributes[, $js])
Parameters
  • $attributes (mixed) – 문자열, 키/값 쌍의 배열, 객체

  • $js (boolean) – true (값에 따옴표가 필요하지 않은 경우, Javascript-style)

Returns

쉼표로 구분된 속성의 키/값 쌍을 포함하는 문자열

Return type

string

문자열, 배열 또는 속성 개체를 문자열로 변환하는 데 사용되는 도우미 함수입니다.

전역 상수

다음 상수는 어플리케이션내 어디에서나 항상 사용할 수 있습니다.

코어(Core) 상수

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 초