簡體   English   中英

Zend Framework 2-單獨的環境開發/登台/生產/測試

[英]Zend Framework 2 - Separate Environment Development/Staging/Production/Testing

我很難找到這些信息。

在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-框架如何識別環境,例如全局/局部? 通過行在index.php中設置了ZF1

defined (' APPLICATION_ENV ' )
    | | Define (' APPLICATION_ENV '
              ( getenv ( ' APPLICATION_ENV ' ) ? getenv ( ' APPLICATION_ENV ' )
                                         ' Production '));

實際上並沒有出現在ZF2中。

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測試台的憑據?

ZF2沒有不同環境的內置概念。 默認情況下,“全局”配置文件簽入到源代碼管理中,但“本地”配置文件未簽入。 因此,您的想法是大多數配置都位於全局文件中,而特定於環境的配置位於本地文件中。

假設您的cache.local.php配置包含特定於環境的內容,例如路徑。 如果是這樣,您將在生產,登台和開發中擁有此文件; 但其內容會有所不同。

如果您真的想堅持使用ZF1方式,並希望在源代碼管理中使用特定於環境的配置,那么也可以輕松實現。 請參閱此博客文章: http : //blog.evan.pro/environment-specific-configuration-in-zend-framework-2 您需要定義APPLICATION_ENV常數才能使其正常工作(您可以將問題的行粘貼到public/index.php )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM