我很难找到这些信息。
在ZF1中,可以在开发、生产、阶段和测试中划分环境。
在ZF1中,对于每种类型的环境数据,我都有不同的数据库配置。我准备好了4个设置并写入文件application.ini
在ZF2中,我怀疑如何创建这4种环境,实际上我在应用程序周期中使用了4。
在/ config / autoload上,我有很多文件。
cache.local.php
global.php
zenddevelopertools.local.php
zfcuser.global.php
文档中写道:默认情况下,此应用程序被配置为加载所有信任项。
' . / config / autoload / { *. } { global, local } . ' php
这2表示只有环境,全球和本地的我的开发机器。
我的主要问题是:
1-框架如何识别环境,如全球/地方环境?ZF1通过行设置在index.php中
defined (' APPLICATION_ENV ' )
| | Define (' APPLICATION_ENV '
( getenv ( ' APPLICATION_ENV ' ) ? getenv ( ' APPLICATION_ENV ' )
' Production '));
它实际上没有出现在ZF2中。
2-如何将这2种环境扩展到4种?
Global - Production
Staging - Staging is AB test
Testing - For PHPUnit Testing Full ( i test dbs Also , future I\'ll go with sqlite but today was mysql )
Development - With dummy data created to have life and system run properly on my computer .
3-我还没有找到明确的方法来声明用于测试的开发环境。如果您需要通过htaccess设置ENV,那么它只适用于apache正确吗?在PHPUnit中设置测试的时间是什么?以及如何准确地加载pro ZF2测试平台的凭证?
发布于 2014-04-21 22:58:02
ZF2对不同的环境没有内置的概念。默认情况下,“全局”配置文件被签入到源代码管理中,但“本地”配置没有。因此,您的大部分配置都在全局文件中,但是特定于环境的配置会出现在本地文件中。
假设您的cache.local.php
配置包含特定于env的内容,比如路径。如果是这样的话,您将有这个文件的生产,分期和开发;但它的内容将是不同的。
如果您真的想坚持ZF1的方式,并且希望在源代码管理中使用特定于环境的配置,这也是很容易实现的。参见这篇博文:http://blog.evan.pro/environment-specific-configuration-in-zend-framework-2。您需要定义APPLICATION_ENV
常量才能工作(您可以将问题中的‘n’粘贴到public/index.php
中。
https://stackoverflow.com/questions/23203375
复制相似问题