반응형
헬퍼(helper)
출처:
http://ci4doc.cikorea.net/general/helpers.html
헬퍼는 작업을 도와주는 역활을 하며 함수의 모음
- URL 헬퍼: 링크를 만드는데 도움
- Form 헬퍼: form을 만드는데 도움
- Text 헬퍼: 텍스트 생성에 도움
- Cookie 헬퍼: 쿠키관련하여 도움
- File 헬퍼: 파일 처리등에 도움
Codeigniter(CI4) 는 기본적으로 헬퍼를 로드 하지 않기 때문에 필요한 헬퍼는 로드를 해야함
헬퍼는 system/Helpers, app/Helpers 디렉토리에 저장 되며 먼저 app/Helpers 디렉토리를 검사한 다음 존재하지 않을 경우 system/Helpers 디렉토리를 찾음
헬퍼 로드
형식은 helper('name'); 이며 name은 관련파일의 파일명임
helper('cookie');
// 여러개의 헬퍼를 로드할 경우
helper(['cookie', 'date']);
대부분의 헬퍼는 컨트롤러 메서드에서 로드함.
컨트럴러 생성자 또는 특정함수에서도 로드 할 수 있음
URL 헬퍼는 항상 로드되므로 직접 로드 할 필요는 없음
헬퍼 사용
일반적인 함수 호출 형태로 사용
<?php
echo anchor('blog/comments', 'Click Here');
헬퍼 확장
app/Helpers/ 디렉토리에 기존 헬퍼와 동일한 이름으로 파일을 생성
예를 들어 기본 array helper를 확장하려면 app/Helpers/array_helper.php라는 파일을 만들고 함수를 추가
app\Helpers\array_helper.php
<?php
function any_in_array($needle, $haystack)
{
$needle = is_array($needle) ? $needle : [$needle];
foreach ($needle as $item) {
if (in_array($item, $haystack)) {
return TRUE;
}
}
return FALSE;
}
app\Controllers\Home.php
<?php
namespace App\Controllers;
use App\ThirdParty\Greetings;
class Home extends BaseController
{
public function index()
{
helper('array');
$result = any_in_array("a", array('a', 'b', 'c'));
echo $result; // 출력: 1
}
}
'CI4' 카테고리의 다른 글
[코드이그나이터] AJAX Requests (0) | 2020.09.02 |
---|---|
[코드이그나이터] 웹 페이지 캐싱(caching) (0) | 2020.09.02 |
[코드이그나이터] URL 에서 index.php 제거 (0) | 2020.09.02 |
[코드이그나이터] configuration 파일 (0) | 2020.09.02 |
[코드이그나이터] Service (0) | 2020.09.01 |