2013-04-04 73 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