2013-04-04 78 views
1

在我的web應用程序 中,我的一些應用程序在symfony中,一些在非symfony中。在symfony和非symfony中處理多個配置文件

結果有多個數據庫連接文件(比如數據庫連接文件其中一個是一個YML文件,另一個是PHP文件。)

我想創造這樣的表和存儲數據庫連接表,然後從它們創建配置文件。

有沒有其他方法。

+0

什麼是你的問題,你有什麼嘗試。 – Miguelo 2013-04-04 05:32:52

+0

問題是我有兩個文件存儲數據庫連接 --->一個是在php(非symfony)和其他在symfony(symfony) 所以我需要維護2個文件中的連接。 爲了解決這個問題,我想在表中添加連接,然後從它們創建配置文件。 – chicharito 2013-04-04 05:37:50

回答

1

您應該保留databases.yml並從非symfony應用程序中加載它。

裏面的非symfony應用程序,你可以使用Yaml component from Symfony 2

use Symfony\Component\Yaml\Parser; 

$yaml  = new Parser(); 
$database = $yaml->parse(file_get_contents('/path/to/config/databases.yml')); 

或者你可以使用sfYaml(複製/粘貼insid您的非symfony項目)並裝載這樣的YML:

// if you don't use an autoload 
require_once('/path/to/config/sfYaml.class.php'); 

$database = sfYaml::load('/path/to/config/databases.yml'); 
+0

thanx解決方案 有些疑問:(1)表格解決方案不夠安全(不安全)(2)因爲連接本地測試服務器和活動服務器是不同的,所以我們自己需要確保,這個文件需要在更改之前進行更改gng live – chicharito 2013-04-05 06:56:49

+0

* table solution *是什麼意思?關於本地和實時連接,您應該在非symfony應用程序(它允許您爲每個env定義不同的參數)上處理dev/all/prod環境。 – j0k 2013-04-05 07:31:47

+0

這意味着我需要爲dev/prod/test維護不同的databases.yml。 這意味着我需要記住每次有人提交這些文件 – chicharito 2013-04-08 06:37:10