当前位置: 首页 > 知识库问答 >
问题:

感叹标记在symfony配置文件中是如何工作的?

鲜于承基
2023-03-14

举个例子:https://github.com/akeneo/pim-communite-dev/blob/master/src/akeneo/platform/bundle/uibundle/resources/config/services.yml#L84

Akeneo\Platform\Bundle\UIBundle\Provider\ExternalJavascriptDependenciesProvider:
    arguments:
        - !tagged akeneo.pim.security.external_dependency_provider

这是:https://github.com/akeneo/pim-communite-dev/blob/master/src/akeneo/platform/bundle/uibundle/provider/externalJavaScriptDependenciesProvider.php

php prettyprint-override">declare(strict_types=1);

namespace Akeneo\Platform\Bundle\UIBundle\Provider;

final class ExternalJavascriptDependenciesProvider
{
    private iterable $externalDependenciesProviders;

    public function __construct(iterable $externalDependenciesProviders)
    {
        $this->externalDependenciesProviders = $externalDependenciesProviders;
    }

    public function getScripts(): array
    {
        $dependencies = [];

        foreach ($this->externalDependenciesProviders as $externalDependenciesProvider) {
            $dependencies[] = $externalDependenciesProvider->getScript();
        }

        return $dependencies;
    }
}

因为构造函数接受一个iterable as参数,所以我理解它必须是一个所有服务都标记为akeneo.pim.security.external_dependency_provider的数组,但是我在任何地方都找不到关于它的文档。我可以在这里找到一些关于!tagged_iterator的文档:https://symfony.com/doc/current/service_container/tags.html#tagged-services-with-index,但它没有提到“!tagged”(没有_iterator后缀)

共有1个答案

东方嘉木
2023-03-14

!tagged!tagged_iterator是相同的。只是前者改名为后者而已。

参见https://github.com/symfony/symfony/issues/31289

 类似资料:
  • 我在读spring security saml文档网站:http://docs.spring.io/autorepo/docs/spring-security-saml/1.0.x-SNAPSHOT/reference/htmlsingle/#configuration-pkix的安全配置文件 我只是很难理解pkix配置文件是如何工作的。 根据我的理解,当idp发回saml响应时,它将对响应进行签

  • 简短版本:Symfony服务配置做什么? 最近,在Symfony项目中工作时,我在文件中输入了无效的服务定义。我收到了这个非常有用的错误消息 配置键"foo"不支持"/用户/alanStorm/站点/symfony-4/my-project/config/services.yaml"中的定义"App\Services\ServiceA"。允许的配置键是"别名"、"父"、"类"、"共享"、"合成"、

  • 从…起https://source.dot.net/#System.Private.CoreLib/Hashtable.cs,475: 它看起来像两个零原谅运算符。有相关文件吗?

  • 问题内容: 查看数据库中的V $ SQL,我刚发现一个奇怪的查询,看起来像: 有人知道语法@!的含义吗? 我以前从未在Oracle中见过类似的东西 谢谢 问题答案: 这是源自远程数据库的查询。使用@DB_NAME语法在远程数据库上的查询中引用了您在V $ SQL中看到此查询的数据库 远程数据库已将查询推送到您的数据库中以便执行,但是要回答该查询,您的数据库需要从远程数据库中拉回一些信息。这是@!进

  • 我试图symfony配置,以确定如何连接一些标记的服务,但我遇到了问题。我试图把这个问题浓缩成尽可能少的代码来帮助解释,但是仍然——抱歉太长了! 这里是配置部分的东西。。。 我也有一个任意的服务,它需要$emailSender和$emailTitle。在services.yaml中,它被标记为任意服务标签: Symfony文档告诉我在CompilerPass中查找标记的服务-足够公平: 在我的完整

  • 问题内容: 在docker-compose.yml中: 我如何在yml配置文件中获取此变量: 在$ _SERVER中,它们的获取方式如下: 问题答案: 在symfony中,可以将PHP文件包含在yaml配置中,在其中可以在运行时设置参数,以覆盖parameters.yml中的静态参数值。 在您的app / config / config.yml中 然后使用以下内容创建文件app / config