본 코드는 PHP
언어로 작성된 composer
페키지 입니다. 또한 jinyPHP
프레임워크와 같이 동작을 합니다.
지니PHP는 MVC 패턴의 웹프레임워크 입니다.
데이터를 표현하는 방법은 다양합니다. 다양한 데이터를 문자열화 하여 파일로 저장 관리 할 수 있습니다.
이를 데이터 직렬화 양식
이라고 합니다.
jiny/confg
페키지는 다양한 유형의 데이터 파일을 읽어 처리할 수 있습니다.
- php array
- ini
- yaml
jiny/confg
페키지는 클래스를 기반의 객체지향 코드로 작성이 되어 있습니다. 따라서, 사용하기 위해서는 먼저 클래스의 인스턴스를 생성하여 내부 매소드와 프로퍼티에 접근이 가능합니다.
보통 클래스의 인스턴스들은 new
키워드를 통하여 객체를 생성이 가능합니다. 하지만, 이렇게 객체를 생성하게 되면 여러개의 인스턴스를 생성할 수 있기 때문에 설정파일에 대한 특정 용도외 충돌이 됩니다. 보통 설정파일은 어플리케이션에서 한개만 존재하여 여러곳에서 사용을 해야 하기 때문입니다.
따라서 jiny/confg
페키지는 일반적인 new
키워드로 인스턴스를 생성하는 방식을 적용하지 않습니다. 디자인 패턴중에 싱글턴
방식을 이용하여 어플리케이센에서 한개의 인스턴스만 생성 관리 되도록 유지하고 있습니다.
인스턴스를 생성하기 위해서 전용 인스턴스를 생성 반환하는 메소드를 지원합니다. 다음과 같이 정적 메소드 형태로 호출을 하여야 합니다.
\Jiny\Config::instance()
jiny/confg
페키지는 여러 종류의 설정파일을 처리 할 수 있도록 드라이버 개념을 도입하였습니다. 처음 페키지의 인스턴스를 싱글턴 방식으로 생성할때 필요한 드라이버 인스턴스 객체를 자동으로 생성을 합니다.
초기 시스템에 대한 환경파일을 읽어 오도록 합니다.
초기 환경파일은 .env.php
파일을 참고로 합니다.
어플리케이션에서 커스텀 환경 설정파일을 읽어 올 수 있습니다.
설정파일을 등록하여 로드할 수 있습니다.
설정파일은 어플리케이션에서 다양한 곳에서 사용이 가능합니다. 어느곳에서 든지 설정파일을 쉽게 접근하여 사용할 수 있도록 전용 헬퍼 함수를 제공하고 있습니다.
설정파일의 데이터는 다중배열 형태로 구성되어 있습니다. 이를 접근하기 위해서는 점을 이용하여 구분하면 됩니다.
\jiny\conf("값.값.값");
읽어온 설정 데이터 배열에 값을 설정할 수 있습니다. 값을 설정할때는 두번재 인자로 키와 값을 같이 설정하면 됩니다.
conf("키.키.키", "값");
헬퍼함수의 인자값을 전달하지 않는 경우에는 jiny/config
의 인스턴스를 얻을 수 있습니다. 이렇게 얻은 인스턴스를 통하여 내부 매서드를 실행할 수 있습니다.
$Config = \jiny\conf();
$Config->data("ENV.path.conf");
jiny/config
패키지는 현재 계속 기능을 개선하고 있습니다. 본 페키지 개발에 기여를 원하시는 경우 언제든제 코드를 작성하여 풀리퀘스트를 주시면 감사합니다.
보다 자세한 내용은 hojin.io 에서 확인이 가능합니다.