php – Zend Framework将开发人员特定的环境信息与配置分开?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Zend Framework将开发人员特定的环境信息与配置分开?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始使用一个大的Zend Framework项目.到目前为止,有一件事令我困惑:大部分配置似乎都存储在application / configs / application.ini的单个文件中.此文件包含应用程序功能所必需的各种内容,例如应用程序命名空间,控制器插件等,以及数据库登录详细信息.我有一些外部承包商,我需要在这个项目上工作,但我不希望他们拥有我所有的数据库细节.在Zend中,如何将环境信息(例如db logins(对于不同的开发人员可能不同)与应用程序配置(对每个人都相同)分开?
我同意在ZF中这比应该更难,希望它是一个将在未来版本中得到改进的领域.

与此同时,将两个配置文件与Zend_Config合并非常容易,这是您可以利用的优势.如果你打开public / index.PHP,你会在底部附近看到一个创建Zend_Application实例的部分.认情况下,第二个参数是配置文件的完整路径,但您可以传入现有的Zend_Config对象.因此,您创建了两个配置对象:application.ini和environment.ini(无论您喜欢调用它),将它们合并在一起,然后将其传递给Zend_Application:

$config = new Zend_Config_Ini(
    APPLICATION_PATH.'/configs/application.ini',APPLICATION_ENV,array('allowModifications' => true)
);
$environment = new Zend_Config_Ini(
    APPLICATION_PATH.'/configs/environment.ini',APPLICATION_ENV
);

$config->;merge($environment);

$application = new Zend_Application(APPLICATION_ENV,$config);
$application->bootstrap()
            ->run();

使用这种方法,您可以将所有标准内容保存在application.ini中,并将数据库内容移动到environment.ini.然后将application.ini保存在代码管理中,将environment.ini添加gitignore / svn:ignore,并创建一个虚拟环境.ini.dist,其他开发人员可以使用它来设置本地项目.

注意:如果出于性能原因在ZF的库文件中注释掉了require_once调用,则可能需要在Public / index.PHP中的某些Zend_Config类中要求它才能生效.但这应该从错误中显而易见.

脚本宝典总结

以上是脚本宝典为你收集整理的php – Zend Framework将开发人员特定的环境信息与配置分开?全部内容,希望文章能够帮你解决php – Zend Framework将开发人员特定的环境信息与配置分开?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。