我已经阅读了几个关于这个主题的教程,但仍然没有完全得到想要让ZF2 app环境知晓的开发人员的期望:
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没有通过设计了解环境概念 - 它由开发人员实施。我不清楚应该怎么做......
阅读Evan的帖子似乎有2种机制 - 首选的是不使用APPLICATION_ENV常量,只是.local,.global文件?
该怎么办?有人可以描述一个过程,让他们知道ZF2环境吗?当代码被推送到不同的环境时你会怎么做?
现在看来这个想法就是ex: module1.local.php.dist-testing , module1.local.php.dist-production , module1.local.php.dist-development 当代码移动到不同的环境时,我们的想法是应该为这个环境复制重命名,并手动填写密码?我是对的吗?
答案 0 :(得分:7)
我们的想法是,您可以在应用程序中提供一些合理的默认配置,但不要在代码的具体环境中存储任何内容,也不要在版本控制系统中存储任何内容。
如果您有两个服务器,一个用于生产,一个用于开发,则只提供此类.local文件中单个环境的配置详细信息。这样,您的开发服务器无法知道,例如生产数据库的主密码。所以你不可能意外地得到一个新的开发服务器,有人忘记设置APPLICATION_ENV,你开始开发和搞乱你的生产数据库,因为应用程序知道密码。
反过来说,新的生产服务器不会意外访问开发数据库。
因此,您的应用程序通过读取存在的文件自动了解环境 - 并且每个环境只有一个文件具有所有详细信息。
这会给管理员或配置所有内容的木偶脚本带来确保正确文件的负担。但是,特定于环境的配置将不会在应用程序中部署。