전역 함수 및 상수

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

전역 함수

서비스 Accessors

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

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

Return type:

mixed

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

Examples:

$foo = cache('foo');
$cache = cache();
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 공격을 방지하기 위해 웹 페이지에 포함할 데이터를 이스케이프합니다. Zend Escaper 라이브러리를 사용하여 데이터의 실제 필터링을 처리합니다

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

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

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

헬퍼 파일을 로드합니다.

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

lang($line[, $args[, $locale]])
Parameters:
  • $line (string) – 검색 할 텍스트
  • $args (array) – 자리표시자(placeholders)를 대체 할 데이터 배열
  • $locale (string) – 기본 로케일(locale) 대신 사용할 다른 로케일

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

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

old($key[, $default = null[, $escape = 'html']])
Parameters:
  • $key (string) – 확인할 이전 양식 데이터의 이름
  • $default (mixed) – $key가 존재하지 않으면 반환 할 기본값
  • $escape (mixed) – 이스케이프 컨텍스트 또는 false
Returns:

정의된 키의 값 또는 기본값

Return type:

mixed

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

Example:

// in controller, checking form submittal
if (! $model->save($user))
{
        // 'withInput' is what specifies "old data"
        // should be saved.
        return redirect()->back()->withInput();
}

// In the view
<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) 클래스에 빠르게 액세스할 수있는 편리한 메서드입니다. 벤치 마크 지점의 이름을 매개 변수로 전달할 수 있습니다. 이 시점부터 타이밍이 시작되거나 이 이름의 타이머가 이미 실행중인 경우 타이밍이 중지됩니다.

Example:

// 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()를 여러번 호출해도 데이터가 지속되도록 지정합니다. 기본적으로 해당 단일 뷰 파일을 표시하면 해당 뷰의 데이터는 지워집니다.

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

Example:

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

echo view('user_profile', $data);

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

기타 기능

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 요청으로 자동 수정하도록 지시합니다.

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 $uri)
Parameters:
  • $uri (string) – 사용자를 리디렉션 할 URI

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

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

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

// Go to a named/reverse-routed URI
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');

URI를 함수에 전달할 때, 상대/전체 URI가 아닌 역방향 경로 요청(reverse-route request)을 전달하면 redirect()->route()를 사용하는 것과 동일하게 처리됩니다.

// 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 문자를 제거 합니다.

Example:

remove_invisible_characters('Java\\0script');
// Returns: 'Javascript'
route_to($method[, ...$params])
Parameters:
  • $method (string) – 명명된 라우트의 별명 또는 일치하는 컨트롤러/메서드의 이름입니다.
  • $params (mixed) – 경로에서 일치시키기 위해 전달될 하나 이상의 매개 변수

명명된 경로 별칭 또는 컨트롤러::메서드를 기반으로 사용자를 위한 상대 URI를 생성합니다. 매개 변수가 제공된 경우 적용합니다.

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

service($name[, ...$params])
Parameters:
  • $name (string) – 로드 할 서비스의 이름
  • $params (mixed) – 서비스 메서드에 전달할 하나 이상의 매개 변수
Returns:

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

Return type:

mixed

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

Example:

$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는 매번 동일한 인스턴스를 리턴합니다.

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 초