PHP文件中的Symfony2数据库配置

use*_*047 5 php database config symfony

我一直在寻找一种方法来做到这一点,无法弄明白.

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

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

有没有办法做到这一点?

Ale*_*lex 4

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

要将您的应用程序配置为使用 PHP,您需要更改在以下位置加载配置的代码app/AppKernel.php

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

您需要将其更改为.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%',
));
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读更多相关信息:http://symfony.com/doc/current/book/page_creation.html#application-configuration