Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jinyphp/config
string data format for laravel
https://github.com/jinyphp/config
Last synced: 5 days ago
JSON representation
string data format for laravel
- Host: GitHub
- URL: https://github.com/jinyphp/config
- Owner: jinyphp
- License: mit
- Created: 2018-06-09T08:58:42.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-29T08:28:13.000Z (about 2 months ago)
- Last Synced: 2024-10-28T23:12:55.433Z (17 days ago)
- Language: PHP
- Homepage: http://www.jinyphp.com
- Size: 67.4 KB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Config
본 코드는 `PHP`언어로 작성된 `composer` 페키지 입니다. 또한 `jinyPHP` 프레임워크와 같이 동작을 합니다.
지니PHP는 MVC 패턴의 웹프레임워크 입니다.## 데이터직렬화
데이터를 표현하는 방법은 다양합니다. 다양한 데이터를 문자열화 하여 파일로 저장 관리 할 수 있습니다.
이를 `데이터 직렬화 양식`이라고 합니다.`jiny/confg` 페키지는 다양한 유형의 데이터 파일을 읽어 처리할 수 있습니다.
* php array
* ini
* yaml## 인스턴스 생성
`jiny/confg` 페키지는 클래스를 기반의 객체지향 코드로 작성이 되어 있습니다. 따라서, 사용하기 위해서는 먼저 클래스의 인스턴스를 생성하여 내부 매소드와 프로퍼티에 접근이 가능합니다.보통 클래스의 인스턴스들은 `new` 키워드를 통하여 객체를 생성이 가능합니다. 하지만, 이렇게 객체를 생성하게 되면 여러개의 인스턴스를 생성할 수 있기 때문에 설정파일에 대한 특정 용도외 충돌이 됩니다. 보통 설정파일은 어플리케이션에서 한개만 존재하여 여러곳에서 사용을 해야 하기 때문입니다.
따라서 `jiny/confg` 페키지는 일반적인 `new`키워드로 인스턴스를 생성하는 방식을 적용하지 않습니다. 디자인 패턴중에 `싱글턴` 방식을 이용하여 어플리케이센에서 한개의 인스턴스만 생성 관리 되도록 유지하고 있습니다.
인스턴스를 생성하기 위해서 전용 인스턴스를 생성 반환하는 메소드를 지원합니다. 다음과 같이 정적 메소드 형태로 호출을 하여야 합니다.
```php
\Jiny\Config::instance()
```## 드라이버
`jiny/confg` 페키지는 여러 종류의 설정파일을 처리 할 수 있도록 드라이버 개념을 도입하였습니다. 처음 페키지의 인스턴스를 싱글턴 방식으로 생성할때 필요한 드라이버 인스턴스 객체를 자동으로 생성을 합니다.## 초기 환경파일
초기 시스템에 대한 환경파일을 읽어 오도록 합니다.
초기 환경파일은 `.env.php`파일을 참고로 합니다.## 커스텀 설정파일
어플리케이션에서 커스텀 환경 설정파일을 읽어 올 수 있습니다.## 설정파일 등록 및 로드
설정파일을 등록하여 로드할 수 있습니다.## 헬퍼함수
설정파일은 어플리케이션에서 다양한 곳에서 사용이 가능합니다. 어느곳에서 든지 설정파일을 쉽게 접근하여 사용할 수 있도록 전용 헬퍼 함수를 제공하고 있습니다.### 값을 읽어오기
설정파일의 데이터는 다중배열 형태로 구성되어 있습니다. 이를 접근하기 위해서는 점을 이용하여 구분하면 됩니다.```php
\jiny\conf("값.값.값");
```### 값 설정하기
읽어온 설정 데이터 배열에 값을 설정할 수 있습니다. 값을 설정할때는 두번재 인자로 키와 값을 같이 설정하면 됩니다.```php
conf("키.키.키", "값");
```### 인스턴스 얻기
헬퍼함수의 인자값을 전달하지 않는 경우에는 `jiny/config`의 인스턴스를 얻을 수 있습니다. 이렇게 얻은 인스턴스를 통하여 내부 매서드를 실행할 수 있습니다.```php
$Config = \jiny\conf();
$Config->data("ENV.path.conf");
```## 업그레이드 및 정보
`jiny/config` 패키지는 현재 계속 기능을 개선하고 있습니다. 본 페키지 개발에 기여를 원하시는 경우 언제든제 코드를 작성하여 풀리퀘스트를 주시면 감사합니다.
보다 자세한 내용은 hojin.io 에서 확인이 가능합니다.