在 symfony2 中加载应用程序的自定义配置文件

2024-06-20

我正在开发一个symfony2应用程序,我试图包含我的自定义 yaml 配置位于/src/AppBundle/Resources/Config/general.yml

我已按照此处提供的示例进行操作http://symfony.com/doc/current/cookbook/bundles/extension.html http://symfony.com/doc/current/cookbook/bundles/extension.html并创建于src/AppBundle/DependencyInjection/AppExtension.php文件包含以下内容:

<?php
namespace AppBundle\DependencyInjection;

use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Translation\Loader\YamlFileLoader;

class AppExtension extends Extension
{
    public function load(array $configs, ContainerBuilder $container)
    {
        $loader = new YamlFileLoader(
        $container,
        new FileLocator("@AppBundle/Resources/config')
        );
        $loader->load('general.yml');
    }
}

然而,我陷入了这一点,不知道如何让 symfony 执行这个文件并加载配置。


由于我没有看到你的 General.yml 文件的内容,我可以建议你使用类似下面的内容(我没有测试过,但应该没问题)。

假设这是你的 General.yml

doctrine:
    orm:
        entity_managers:
            encrypt:
                mappings:
                    MyEncryptBundle:
                        dir: Entity
                        type: annotations
                        prefix: My\EncryptBundle\Entity

您可以直接在 DependencyInjection 中设置所有内容,而不是创建此 yml 文件并导入它,如下所示。

namespace Application\FrontendBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\Validator\Tests\Fixtures\Entity;

/**
 * This is the class that loads and manages your bundle configuration
 *
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
 */
class ApplicationFrontendExtension extends Extension implements PrependExtensionInterface
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml'); # another file of yours
        $loader->load('controllers.yml'); # another file of yours
        $loader->load('repositories.yml'); # another file of yours
    }

    public function prepend(ContainerBuilder $container)
    {
        $container->prependExtensionConfig(
            'doctrine',
            [
                'orm' => [
                    'entity_managers' => [
                        'encrypt' => [
                            'mappings' => [
                                'MyEncryptBundle' => [
                                    'dir'       => 'Entity',
                                    'type'      => 'annotation',
                                    'prefix'    => 'My\EncryptBundle\Entity'
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        );
    }
}

或者你可以做点什么像这样 http://www.inanzzz.com/index.php/post/aqkg/how-to-add-a-custom-configuration-parameters-to-config-yml-file-and-accessing-them-in-symfony-application反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 symfony2 中加载应用程序的自定义配置文件 的相关文章

  • Symfony Doctrine 数据类型仅适用于 findBy 不适用于 querybuilder

    我有自定义数据类型 它在使用 FindBy 时按预期工作 但在使用查询生成器时却不然 很抱歉这篇文章很长 但我认为更多信息应该有所帮助 这与这个未回答的问题相同 学说 2 自定义类型 https stackoverflow com ques
  • 如何使用 symfony / gauferette / VichUploaderBundle 将文件上传到 Google Cloud Storage

    早上好 我正在上传我的文件locally通过VichUploaderBundle 每件事都很完美 现在我不想再在本地存储我的文件 我想将它们存储在谷歌云存储 我找到KnpGaufrette捆绑包可用于在云中存储文件 那么 有没有关于如何配置
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • Symfony2 Twig 扩展

    我在实现树枝扩展时遇到一些问题 我需要创建自己的过滤器 子过滤器 所以我想到了使用twig扩展 我在 MyApp Bundle WebsiteBundle 和文件上创建了一个名为 Extension 的文件夹 网站扩展 php namesp
  • 更改 WhiteOctober TCPDF 捆绑包配置值

    我已经开始在我的 symfony 项目中使用 WhiteOctober TCPDF 包 但我不知道如何更改默认配置值 例如页面格式 我尝试将其放入我的 config yml 中 white october tcpdf tcpdf k tcp
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 为什么将 Ubuntu 升级到 22.04 后 phpMyAdmin 停止工作?

    刚刚升级到 Ubuntu 22 04 现在我的 phpmyadmin 无法加载 我收到以下错误 解析错误 语法错误 usr share php Symfony Component DependencyInjection ContainerB
  • 如何使用变量处理树枝文件中的翻译?

    我有一个 twig 文件和一个 yml 在其中定义翻译变量 e g YML 文件 variable for translation Disponible para t Twig 文件的内容 h2 Hola Follow variableNa
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 如何动态地将节追加到 Symfony 2 配置中?

    my bundle algorithm blowfish One of md5 blowfish sha256 sha512 这个配置是通过这个配置树完成的 Algorithms and constants to check algorit
  • 将数据从控制器传递到 symfony2 类型

    如果我在表单中显示 实体 类型的字段 并且我想根据从控制器传递的参数过滤此实体类型 我该怎么做 PlumeOptionsType php public function buildForm FormBuilder builder array
  • 螺栓中的内容类型

    我试图在 Bolt 中为两种内容类型提供相同的单一 slug 它们都应该具有相同的字段和相同的模板 此时我使用record template 标签来设置每个内容类型的默认模板 vervolgpagina name vervolgpagina
  • 如何在电子邮件主题中包含日志的严重性?

    我将 Monolog 与 Symfony2 一起使用 并配置了一个日志记录环境 其中所有内容都记录到文件中 并且超过某个阈值时会通过电子邮件发送给我 我的配置如下 但是 我无法调整电子邮件主题 使其根据日志的实际级别进行更改 响应时间 例如
  • Symfony 4 应用程序可与 Docker Compose 配合使用,但无法与 Docker Swarm 配合使用(无法登录,分析器损坏)

    我在用着Docker 组合本地 app容器 Nginx PHP FPM with a 交响乐4 app PostgreSQL容器 Redis容器 它在本地运行良好 但部署到开发中时效果很好码头工人群集群 我无法登录 Symfony 应用程序
  • 如何像格式化数组一样使用 monolog 记录多行条目?

    我正在尝试记录一个数组monolog in symfony logger this gt get logger logger gt info print R user true 我得到的输出未格式化为 print r 预期的格式 它将所有内
  • 在奏鸣曲管理列表顶部显示订单总数

    根据特定条件进行筛选后 在页面顶部显示销售交易金额总额 如果页面不止一页 这应该是所有页面的总和 有人可以指导我如何做到这一点 我们按照以下方式做到了 效果非常好 Step 1 orderAdmin中添加了两个方法 public funct
  • symfony2 选择单选框的默认值

    我的项目是使用 Silex 和 Symfony 组件 即表单组件 编写的 我尝试创建一组从类中构建的单选按钮 并且我想预先选择其中一个单选按钮 我创建这样的表格 form app form factory gt createBuilder
  • Symfony php.ini Debian

    我在 Oracle VM VirtualBox 上使用 Debian 7 amd64 LAMP 服务器 我正在尝试安装 Symfony 但遇到了一些小问题 当我运行命令时 php my project name app check php

随机推荐