Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework 2-独立环境开发/登台/生产/测试_Php_.htaccess_Doctrine Orm_Zend Framework2_Phpunit - Fatal编程技术网

Php Zend Framework 2-独立环境开发/登台/生产/测试

Php Zend Framework 2-独立环境开发/登台/生产/测试,php,.htaccess,doctrine-orm,zend-framework2,phpunit,Php,.htaccess,Doctrine Orm,Zend Framework2,Phpunit,我很难找到那些信息 在ZF1中,可以在开发、生产、阶段和测试中划分环境 在ZF1中,每种类型的环境数据都有不同的数据库配置。我已准备好4个设置并将其写入application.ini文件 在ZF2中,我不知道如何创建这4个环境,实际上我在应用程序周期中使用了4个环境 在/config/autoload上,我有很多文件 cache.local.php global.php zenddevelopertools.local.php zfcuser.global.php 文件说: 默认情况下,此应用

我很难找到那些信息

在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,那么它只适用于apachecorrect?在PHPUnit中设置测试的时间是多少?如何准确地加载pro ZF2测试台的凭证?

ZF2没有不同环境的内置概念。默认情况下,“全局”配置文件签入到源代码管理,但“本地”配置不签入。因此,您的大多数配置都在全局文件中,而特定于环境的配置则在本地文件中

假设您的
cache.local.php
config包含特定于环境的内容,比如路径。如果是这样的话,您将拥有关于生产、暂存和开发的此文件;但内容会有所不同


如果您真的想坚持使用ZF1方式,并且希望在源代码管理中使用特定于环境的配置,那么这也很容易实现。请参阅此博客文章:。您需要定义
APPLICATION\u ENV
常量才能使其工作(您可以在
public/index.php
中剪切粘贴问题中的行)。

感谢您的帮助,我做到了,并且工作正常。遗憾的是,我不知道如何使用本地/全局来使用不同的配置,比如测试,但zf1方式看起来并不坏。