CI4 56

[코드이그나이터] 뷰 셀(View Cell)

뷰 셀(View Cell) 출처: http://ci4doc.cikorea.net/outgoing/view_cells.html 컨트롤러 외부에서 생성된 HTML을 삽입할 수 있음 CI3 의 Widget 기능을 view_cell 이 대응하는것 같음 modules\main\Views\MainView.php 메인 뷰 입니다. 가독성을 높이기 위해 메소드의 매개 변수와 일치하는 매개 변수 이름을 사용 app\Libraries\Widget.php 셀 캐싱 (Caching) view_cell() 의 세 번째 파라미터 로 캐싱 시간(초)을 전달하여 뷰 셀 호출 결과를 캐시(cache)할 수 있음 // Cache the view for 5 minutes

CI4 2020.09.04

[코드이그나이터] IncomingRequest Class

IncomingRequest Class 출처: http://ci4doc.cikorea.net/incoming/incomingrequest.html 브라우저와 같은 클라이언트의 HTTP 요청(request)에 대한 메소드를 제공 getUserAgent([$filter = null]) Parameters: $filter (int) – 적용할 필터 유형 SERVER 데이터에서 사용자 에이전트(User Agent) 문자열을 반환 $request->getUserAgent(); getServer([$index = null[, $filter = null[, $flags = null]]]) Parameters: $filter (int) – 적용할 필터 유형 $index (mixed) – Value name $flags..

CI4 2020.09.04

[코드이그나이터] 요청(Request) Class

요청(Request) Class 출처: http://ci4doc.cikorea.net/incoming/request.html getIPAddress() 사용자의 IP 주소 또는 null, IP 주소가 유효하지 않은 경우 0.0.0.0을 반환 echo $request->getIPAddress(); isValidIP($ip[, $which = '']) Parameters: $ip (string) – IP address, $which (string) – IP protocol (‘ipv4’ or ‘ipv6’) 주소가 유효하면 true, 그렇지 않으면 false if ( ! $request->isValidIP($ip)) { echo 'Not Valid'; } else { echo &#..

CI4 2020.09.03

[코드이그나이터] 컨트롤러 (Controller)

컨트롤러 (Controller) 출처: http://ci4doc.cikorea.net/incoming/controllers.html 'Helloworld.php' 컨트롤러 파일의 이름은 대문자 로 시작 example.com/class/method/ID 첫 번째 세그먼트는 호출해야 하는 컨트롤러 클래스를 나타냄 두 번째 세그먼트는 호출해야 할 클래스 메소드를 나타냄 세 번째 세그먼트와 추가 세그먼트는 컨트롤러에 전달될 ID 및 변수를 나타냄 형식

CI4 2020.09.03

[코드이그나이터] 모듈화

모듈화 출처: http://ci4doc.cikorea.net/general/modules.html CI3 에서 말하는 HMVC 형태를 CI4 에서 처리하는 방법이라고 생각하면 쉬울듯 디렉토리 구성 - modules - main - Config - Controllers - Models - Views app\Config\Autoload.php 파일내 $psr4 에 관련 정보 추가 public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Config' => APPPATH . 'Config', //새로 추가 'Modules' => ROOTPATH . 'modules' ]; app\Co..

CI4 2020.09.03

[코드이그나이터] AJAX Requests

AJAX Requests 출처: http://ci4doc.cikorea.net/general/ajax.html 코드이그나이터에서 제공하는 isAJAX() 메서드는 X-Requested-With 헤더를 사용하여 요청이 XHR인지 정상인지를 정의 그래서 isAJAX() 메서드 결과값의 안정성을 유지하기 위해서는 수동으로 X-Requested-With 를 정의 해줘야함 Fetch API fetch(url, { method: "get", headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } }); jQuery X-Requested-With 헤더는 모든 $.ajax() 요청의 표준 헤더이기 때문에 이 헤더를 명시적..

CI4 2020.09.02

[코드이그나이터] 웹 페이지 캐싱(caching)

웹 페이지 캐싱(caching) 출처: http://ci4doc.cikorea.net/general/caching.html 페이지를 캐싱하면 페이지가 완전히 렌더링된 상태로 저장되므로 정적 웹 페이지와 유사한 성능을 얻을 수 있음 \writable\cache 디렉토리에 캐시 파일이 생성됨 캐싱 활성화 컨트롤러의 메소드에 추가 $this->cachePage(초); 캐싱 삭제 캐싱 코드를 제거하면, 활성화시 지정된 시간후에 캐시 파일이 삭제 app\Controllers\Home.php

CI4 2020.09.02

[코드이그나이터] 헬퍼(Helper)

헬퍼(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'); 이며 nam..

CI4 2020.09.02

[코드이그나이터] URL 에서 index.php 제거

codeigniter URL > index.php 제거 출처: http://ci4doc.cikorea.net/general/urls.html#index-php 기본적으로 URL은 index.php를 포함 example.com/index.php/news/article/my_article Apache web server mod_rewrite 모듈이 활성화 되어 있다면 .htaccess을 이용하여 index.php 제거 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] NGINX location / { try_files $uri $uri/..

CI4 2020.09.02