환경과 관련하여 우리의 응용 프로그램의 필터 특성
4 개 중 1 페이지
우리는 동적으로 필터링하여 무슨 뜻인지 설명함으로써 시작됩니다.
이러한 표현을 통해 우리는 (로컬, 테스트, 생산) 노력하고있는 환경과 관련하여 공통 속성 불구하고 여과 우리 교실 / 스크립트를 사용할 수 있도록하려면이 메커니즘을 참조하십시오.
그것은 일반적으로 이해 전개의 개념은, 우리의 사랑의 언어와 관련되지 않는다는 단순한 이유지만 PHP에서 자바에서 공통의 메커니즘을 '. 그리고 '실제로는 매우 일반적인 테스트 스크립트는 로컬 후 직접 생산에서 테스트 머신에 FTP를 통해 파일 (또는 악화)를 복사합니다.
직장에서, 그러나, 자동으로 우리의 응용 프로그램이 로컬 호스트 또는 다른 시스템 (프런트 엔드에 대한 예를 들어, 외부에 노출)에서 실행할지 여부에 따라 필터링된 속성을 가지고 매우 편리하므로이 문서에서 우리는 구현하기위한 간단한 플랫폼을 만드는 것입니다 PHP 프로젝트 : 가상의 논리 이것은 일종의.
우리가 외부 패키지, 또는 특수 추상적인 관념을 사용하지 않습니다이를 위해 우리는 XML, PHP 클래스와 텍스트 파일이 필요합니다.
아이디어는 함께 모든 것을두고 일부 코드를, 우리의 일반적인 속성에 대한 XML 파일에 정의를 향상시키기 위해 각 환경에 파일을 생성하고 작성하는 것입니다. 우리의 테스트 응용 프로그램의 구조가 될 것입니다 :
- 클래스 PropertyManager.class.php를 포함하는 폴더에 클래스
- 설정 파일 및 폴더 필터 app_properties.xml 내부 폴더로
- 필터 세 파일이 포함된 폴더 : local.filter.properties, test.filter.properties, pro.filter.properties
- 우리 솔루션의 작동을 테스트하기 위해 PHP 코드가있는 파일 : index.php
다음은 기본 구조는 다음과 같습니다

XML
파일이 만들어진 방법을 알아보자 :
<? XML 버전 = "1.0"인코딩 = "UTF-8"?> <properties> <property name="__app_version" value="0.0.1" /> <property name="messaggio_variabile" value="" /> <property name="url_servizio_esterno" value="" /> <property name="local" value="localhost" /> <property name="test" value="test.qualchedominio.it" /> <property name="pro" value="prod.qualchedominio.it" /> </ 속성>
우리 태그 <PROPERTY> 집합을 삽입하는에 컨테이너 태그 <properties>을 정의 문서를 시작하는 일반적인 태그 외에, 처음 세이 예제에서 우리를 섬기는 자들이며, 마지막 세는 다른 호스트를 참조하고합니다 PHP는 동적으로 우리가 운영하는 어떤 환경을 알아낼 수 있습니다.
여기는 지역 환경, 테스트 및 생산을 deinito지만, 아무것도 당신이 그토록 dev에로 자신을 정의 방지할 수 없습니다.
동그라미 각각의 요건에 따라 valorizzeremo 기본 URL, 응용 프로그램에서 응용 프로그램을 나타냅니다.
우리의 시나리오에서 우리는 'prod.qualchedominio.it에 도달 홈페이지 test.qualchedominio.it 생산에 도달하고 물론 로컬 호스트로하는 테스트 시스템이 있습니다.
파일. * 등록
다음 단계는 XML에 정의된 속성이 우리가 살고있는 '환경에 따라 다르게 가치가 있는지 확인하는 것입니다. 우리는 폴더 필터에서 텍스트 파일의 목적을 위해 사용하는, 그럼 내용을 하나씩 보자 :
local.filter.properties
; [지방] 필터 특성 messaggio_variabile = "우리는 로컬" url_servizio_esterno = http://dev-servizio.esterno.it
test.filter.properties
; [테스트] 필터 속성 messaggio_variabile는 = "우리는 테스트" url_servizio_esterno = http://test-servizio.esterno.it
pro.filter.properties
; [PRO] 필터 속성 messaggio_variabile는 = "우리는 생산" url_servizio_esterno = http://prod-servizio.esterno.itit
XML로 정의된 속성을 "__app_version는"서로 다른 파일에 재정의하지 않습니다, 그것은 다양한 환경 사이에서 공통적인 속성, 불변 등 모든 측면에서 처리되므로 여과되지 않습니다.






