2012-12-05 3 views
4

내가 주제에 몇 가지 튜토리얼을 읽었습니다,하지만 여전히 완전히 무엇인지 ZF2 응용 프로그램 환경 만들기를 원하는 개발자 기대 있어요되지 않습니다ZF2에서 생산, 개발, 스테이징 구성?

http://blog.evan.pro/environment-specific-configuration-in-zend-framework-2
http://www.spiffyjr.me/2012/06/17/how-does-configuration-work-in-zf2/comment-page-1/

ZF2 환경의 인식이 아니다 디자인에 의한 개념 - 구현할 개발자에게 맡겨져 있습니다. 나는 에반의 게시물을 통해 읽기

이 2 기계 장치가 있습니다 보인다처럼 ...이 수행해야하는데 방법에 완전히 명확하지 않다 - 그리고 선호 한 .global 단지 .local의 APPLICATION_ENV 일정를, 사용하지 입니다 파일?

어떻게 작동합니까? 누군가 ZF2 환경을 인식하도록하기 위해 프로세스를 설명 할 수 있습니까? 코드가 다른 환경으로 푸시 될 때 당신이하는 일은 무엇입니까?


아이디어 전을 위해 가지고 지금처럼 보인다 : module1.local.php.dist - 테스트, module1.local.php.dist을 생산, module1.local.php을 .dist-development 코드가 다른 환경으로 옮겨 졌을 때, 수동으로 채워지는 환경과 비밀번호에 대해이 코드를 복사해야한다는 아이디어가 있습니까? 나 맞아?

+0

ZB1과 같은 환경 설정 작업을하는 방법을 설명하는 Evan의 또 다른 게시물이 있습니다.> http://blog.evan.pro/environment-specific-configuration-in-zend-framework-2 둘 다 받아 들일 만하다. 새로운 것은 단순히 사람들의 선호도이다. 회사 환경에서 가장 자주 구성은 개발자가 처리합니다. 서버 사용자는 구성 설정을 변경하지 않으므로 env 관련 방법은 여전히 ​​'최상의'방법입니다. – Sam

답변

7

아이디어는 응용 프로그램에 적절한 기본 구성을 제공하지만 코드가있는 구체적인 환경이나 버전 제어 시스템에는 아무 것도 저장하지 않는 것이 좋습니다.

예를 들어 프로덕션 용 서버 하나, 개발 용 서버 2 개가있는 경우 .local 파일의 단일 환경에 대한 구성 정보 만 제공합니다. 이렇게하면 개발 서버에서 예를 들어 프로덕션 데이터베이스의 마스터 비밀번호 따라서 실수로 새 개발 서버를 얻지 못하게되고 누군가가 APPLICATION_ENV를 설정하는 것을 잊어 버리고 응용 프로그램이 암호를 알고 있기 때문에 프로덕션 데이터베이스를 개발하고 엉망이되기 시작합니다.

다른 방법으로는 새로운 프로덕션 서버가 실수로 개발 데이터베이스에 액세스 할 수 없습니다.

따라서 응용 프로그램은 현재 존재하는 파일을 읽음으로써 자동으로 환경을 인식합니다. 그리고 모든 세부 사항이있는 환경 당 하나의 파일 만 존재합니다.

이렇게하면 관리자에게 올바른 파일이 있는지 또는 모든 것을 구성하는 꼭두각시 스크립트가 있는지 확인해야하는 부담이 듭니다. 그러나 환경 특정 구성은 응용 프로그램 내에 배포되지 않습니다.

+0

다른 환경의 다른 서버로 배포하는 방법 어떻게 생겼어? 하나는 코드를 체크 아웃하고, dist 파일의 이름을 변경하고 패스워드를 수동으로 채 웁니다. –

+0

"이 질문은 관리자에게 올바른 파일이 제공되도록하는 부담이나 모든 것을 구성하는 꼭두각시 인형을 풀어야하는 부담을 안겨줍니다. 답변은 전적으로 ZF2 문서에 속합니다. 고맙습니다. 지금은 훨씬 더 명확 해. –

+0

배포 란 버전 제어에서 모든 응용 프로그램 파일을 가져 와서 다른 소스에서 적절한 local.php 파일을 추가하고 모든 것을 서버에 푸시하는 것을 의미합니다. 또는 현재 버전에 아직 남아있는 local.php 파일을 삭제하지 않도록하십시오. – Sven

관련 문제