PHP文件中的Symfony2数据库配置

时间:2012-10-19 17:16:27

标签: php database symfony config

我一直在寻找一种方法来做到这一点,但无法理解。

可以将Symfony2的数据库配置存储在PHP文件中吗?

我想这样做的原因主要是因为我通常将整个“app”放在公共目录中,但也因为我试图构建我的应用程序的方式。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

默认情况下,您的应用配置位于Yaml,但您可以将Symfony的任何部分配置为使用您想要的任何配置类型。

要将您的应用配置为使用PHP,您需要在app/AppKernel.php中更改加载配置的代码:

public function registerContainerConfiguration(LoaderInterface $loader)
{
    $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}

您需要将其更改为.php并使用PHP编写配置文件。

以下是config.php文件的外观:

$this->import('parameters.ini');
$this->import('security.yml');

$container->loadFromExtension('framework', array(
    'secret'          => '%secret%',
    'charset'         => 'UTF-8',
    'router'          => array('resource' => '%kernel.root_dir%/config/routing.php'),
    'form'            => array(),
    'csrf-protection' => array(),
    'validation'      => array('annotations' => true),
    'templating'      => array(
        'engines' => array('twig'),
        #'assets_version' => "SomeVersionScheme",
    ),
    'session' => array(
        'default_locale' => "%locale%",
        'auto_start'     => true,
    ),
));

// Twig Configuration
$container->loadFromExtension('twig', array(
    'debug'            => '%kernel.debug%',
    'strict_variables' => '%kernel.debug%',
));

您可以在此处详细了解:http://symfony.com/doc/current/book/page_creation.html#application-configuration