처음부터 차근차근

Core 확장하기 본문

Framework/CodeIgniter

Core 확장하기

_soyoung 2021. 12. 25. 00:28
반응형

core

core란 framework의 기본 로직이다.

보통 framework를 사용해서 개발을 할 때 framework에서 제공하는 기본 환경에 나만의 코드를 만들어서 확장시키는데 이때 framework에서 제공하는 기본 로직을 core라고 생각하면 된다.

 

 

 

core 파일 보기

system / core 디렉토리 안을 보면 여러 개의 파일이 있는데 이 파일들이 codeigniter가 동작할 때 로드되는 core 파일들이다.

core 파일들

 

 

 

core 확장하는 방법

core 자체를 수정하면 나중에 codeigniter가 버전 업되면 문제가 생길 수 있다.

이 문제가 일어나지 않게 하기 위해 codeigniter에서 core을 확장하는 방법을 2가지 제공한다.

 

  1. hook 이용하는 방법
  2. 상속을 이용하는 방법

이 중 상속을 이용하여 core을 확장하는 방법을 알아볼 것이다.

 

 

 

상속을 이용한 core 파일 확장

core 파일을 확장하려면 확장하고 싶은 파일을 선택하고 그 파일이름 앞에 'MY_'를 붙인 새로운 이름으로

application / core

안에 새로운 파일을 만든다.

그리고 새로만든 core 파일을 사용하면 된다.

 

예시 )

Controller.php 파일을 확장하고 싶으면 MY_Controller.php 파일을 application / core 안에 생성한다.

MY_Controller.php 파일 코드 예시

<?php
    defined('BASEPATH') OR exit('No direct script access allowed'); 
    class MY_Controller extends CI_Controller {
	
        function __construct() {
            parent::__construct();
        }
        
        // 공통되는 코드
    }
?>

 

그리고 이 controller를 CI_Controller 대신 상속시켜준다.

class Admin extends CI_Controller
-->
class Admin extends MY_Controller

 

Admin 클래스는 CI_Controller을 상속받은 MY_Controller을 상속받는다.

상속 관계도

그리고 실행해보면 아주 잘되는 것을 확인할 수 있다.

 

 

 

파일 명명 규칙 변경하는 법

core 확장 파일 명명 규칙은 application / config / config.php 안에 있다.

$config['subclass_prefix'] = 'MY_';

core 확장 파일 이름 앞에 'MY_'말고 다른 이름을 붙이고 싶으면 위의 코드에 'MY_' 대신 다른 이름을 넣어주면 된다.

 

 

 

 

 

 

출처 : 'Codeigniter - 생활코딩' 변형 및 요약

반응형

'Framework > CodeIgniter' 카테고리의 다른 글

Codeigniter form 검증 한글 번역하기  (0) 2021.11.26
Session과 login, logout구현  (0) 2021.11.12
CKEditor  (0) 2021.11.03
파일 업로드  (0) 2021.11.02
로그  (0) 2021.10.26
Comments