[FormalBears] Configurable BEAR.Sunday
7879 단어 BEAR.SundayFormalBears
2018년 봄에 열린 베어.선데이 메트 업@iteman에서는 베어의 메타 프레임
FormalBears
을 공유했다.FormalBears는 한정 공개 프로젝트로 작가의 동의를 얻어 작업 중에 그 포크판을 사용했습니다.모듈 설정 언어 기능
FormalBears는 다양한 기능이 있는데 그 기초가 되는 기본 기능으로'언어 구성 기능'으로 자리매김했다.아래와 같이 할 수 있다.
url: '%env(DATABASE_URL)%'
지식 보유: 응용 프로그램 상하문 및 환경
BEAR에서 응용 프로그램의 구성은
アプリケーションコンテキスト
23에 의해 결정된다(다른 WAF에서 환경 변수의 환경 키, 예를 들어 SymfonyAPP_ENV
의 값이 결정되지만 BEAR의 구조는 다르다)4.실제 업무에서 실행 프로그램環境
에 따라 서로 다른 설정으로 전환하고 사용자 정의와 환경에 대응하는 응용 상하문(예를 들어 prod
, dev
, 설정에 대응하는モジュール
(예: ProdModule
, DevModule
등이 필요하다.이것은 매우 일반적이며 베어 사용자는 누구나 할 수 있는 일이다.기본값, 환경별 덮어쓰기
다음은 본론.응용 프로그램 전체로 볼 때 설정은 상당히 방대해질 것이다.각 모듈의 규약에 따라 설정을 설정하면 응용 프로그램의 유지보수성이 어려울 것이다.
FormalBears는
デフォルト
또는 環境毎のオーバーライド
에 설정된 프레임워크를 제공합니다.간단한 예를 들어 보자.가령
Github のユーザー情報一覧を表示するAPIクライアント
.共通設定
, "객체 사용자 이름 목록 표시는環境によって切り替えたい
입니다.5
주입 방법 등에 대한 자세한 내용은 생략했지만, 아래 창고에 실행 코드를 넣었다.
FormalBears가 상하문을 읽을 수 있도록 BEAR 설치 기본값
bootファイル
kumamidori/FormalBearsDemo의 설치를 변경했습니다.FormalBears 설치
FormalBears의 서브셋 포크 버전 소스 코드를 공개합니다.
protected function loadConfiguration(LoaderInterface $loader)
{
// モジュール毎(個々のモジュールの設定)
$loader->load($this->appMeta->configDir.'/modules/*'.$this->appMeta->configExtension, 'glob');
foreach ($this->appMeta->contexts as $context) {
if (is_dir($this->appMeta->configDir.'/modules/'.$context)) {
// モジュール毎、コンテキスト別オーバーライド
$loader->load($this->appMeta->configDir.'/modules/'.$context.'/**/*'.$this->appMeta->configExtension, 'glob');
}
// コンテキストグローバル
$loader->load($this->appMeta->configDir.'/contexts/'.$context.$this->appMeta->configExtension, 'glob');
}
}
사용한 소감.symfony/config
사용 소감) 지금까지 생략된 설정을 컴파일링 무대에서 완성할 수 있다는 점에서 기쁘다.언어 기능이 설정되지 않은 경우와 비교하면 다음과 같은 단점이 있습니까?
$GLOBALS['context']
(이것도 MIT up의 대화 주제입니다. 다시 녹음해 보겠습니다.)
Symfony 스타일은 설정을 각 응용 프로그램이 각각 존재하는 개별 과제로 간주하는 것이 아니라 특정한 공통성을 가진 구조 자체를 하나의 영역으로 포착한다.설정된 상하문, 파라미터의 그룹, 데이터 구조, 유형 등 문제의 구조를 간단하고 알기 쉽게 표현하기를 바란다.
보충2: 인프라 관련 설정
이 글에는 인프라 시설과 관련된 설정과 환경 변수의 처리가 언급되지 않았다.나는 다음에 다시 다른 보도에서 소개하고 싶다.
끝맺다
Formal Bears의 구성 언어 기능과 최소값 사용 예를 소개하고 소스 코드를 공개했다.
베어는 참신함을 지닌 프레임이지만 최근 기존 기술과 결합을 통해서도 새로운 가능성을 개척할 수 있다는 것을 배웠다.
FormalBears The Birth of FormalBears - A new META for BEAR.Sunday applications
↩ symfony/config 합병 예시 소개
↩ 공식 브로셔: 어플리케이션
↩ 애플리케이션 - Qita
↩ 공식 브로셔: 모듈 - 환경
Reference
이 문제에 관하여([FormalBears] Configurable BEAR.Sunday), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kumamidori/items/53f3a271e3de70c5abf4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)