2011-01-06 3 views
1

젠드 구성에 기본 PHP를 사용하는 것을 선호합니다. 이 Zend application.ini 세그먼트를 어떻게 PHP로 변환합니까?젠드 application.ini

[development : production] 

제작 섹션은 개발 섹션에서 상속받은 것으로 추정됩니다. P.S 여기에 ZEND 프레임 워크에 대해 이야기하고 있습니다.

업데이트 : 내 질문에 명확하지 않은 것처럼 보입니다.

필자가 알고 싶었던 것은 Zend_Application이 ini 또는 xml과 비교하여 PHP 옵션 파일에서 상속/중첩을 처리하는 방법이었습니다.

INI 설정 예를 (생산 섹션에서 모든 것을 테스트 및 개발 수단에 의해 상속됩니다) :

[production] 
autoloaderNamespaces[] = "My_" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 

[testing : production] 
bootstrap.class = "productionBootstrap" 

[development : production] 
bootstrap.class = "developmentBootstrap" 

XML의 구성 예를 (생산 섹션의 모든 것이 섹션을 준비 상속됩니다, 키워드 확장 참고) :

PHP 구성 시험 ple 상속/중첩이 없습니까? 수동 배열 병합을 수행하지 않고 상속/중첩 작업을 수행 할 수있는 방법이 있습니까? 그들이가 캐시 할 수 some info

· : - 돌이켜에서

return array(
    'production' => array(
     $test1 => 'aaaaaaa' 
    ), 
    'staging' => array(
     $test2 => 'bbbbbb' 
    ), 
    'testing' => array(
     $test3 => 'bbbbbb' 
    ) 

) 

UPDATE는 구성 PHP는 배열 대신에 INI 파일을 사용하여 어떤 장점이 있다는 것을 추가하고 싶었 연산 코드 캐시

· 상수 지원

은 · 그들은 부울을 지원하고 정수

+0

왜 당신은 그것을 사용하는 것을 선호? 젠드 프레임 워크는 ini와 XML 파일 모두를위한 훌륭한 설정 구현을 제공합니다. –

+1

잘 IMHO 1) PHP는 raw.ini보다 훨씬 더 복잡하다고 생각하지 않습니다. 2) 예를 들어 boolean을 처리하는 것이 더 쉽습니다. ini에서는 모든 것이 문자열입니다. 3) 변수를 얻는 가장 빠른 방법입니다. – Stann

+0

왜 downvote? Downvoter - 부정적인 투표 PLZ를 설명하는 신경? – Stann

답변

1

스피 확실하지 당신이 무슨 뜻인지,하지만 당신은이처럼 설정하여 PHP 파일이 시뮬레이션 할 수 있습니다 :

$configProduction = array(
    'database' => $db1, 
    'url'  => 'www.production.com', 
); 

$configDevelopment = array(
    'url' => 'www.test.com', 
); 

//ENV is set in bootstrap or htaccess or php.ini 
switch (APPLICATION_ENV) { 
    case 'production': 
     $config = $configProduction; 
     break; 
    case 'development': 
     $config = array_merge($configProduction, $configDevelopment); 
     break; 
} 
+3

으로 유용합니다. – Gordon

+1

예를 들어, [DASPRiD] (http://twitter.com/dasprid)는 [그의 블로그 응용 프로그램] (http://site.svn.dasprids.de/trunk/application/config/config)에서'array_merge_recursive()'를 사용합니다. .php). –

+0

감사합니다. Zend_Application이 환경에 기반하여 병합되는 배열 키를 처리하는지 확실하지 않았습니다. 그러나 코드를 살펴본 후에는 그렇지 않습니다. 이 답변 주셔서 감사합니다 :) – Stann

1

Zend_Config에 스칼라를 지원하는 패치가이 값 · 쉽게 읽을 설정 나무

을 만들 수 있습니다.

패치

는 이유로 트렁크로 받아 들여지지 않았다보기 때문에 어떤 부작용이되지 않습니다 보장 할 수 없습니다. 패치는 다소 오래되었으므로 최신 버전 Zend_Config으로이 작업을 수행하려면 약간의 조정이 필요할 수 있습니다.

문제에 접근하는 방법에 대한 아이디어를 얻으려면 도움이 될 수 있습니다.

관련 문제