egulias/tag-debug

用于调试在 Symfony 2 DIC 中注册的服务标签的调试库

1.0.0 2014-08-27 21:10 UTC

This package is auto-updated.

Last update: 2024-09-16 03:12:36 UTC


README

此库将获取所有已标记服务的相关信息

安装和配置

获取库

php composer.phar require egulias/tags-debug

使用

基本用法

<?php

use Egulias\TagDebug\Tag\TagFetcher;
use Egulias\TagDebug\Tag\FilterList;
use Symfony\Component\DependencyInjection\ContainerBuilder;

$containerBuilder = new ContainerBuilder;
$fetcher = new TagFetcher($containerBuilder);

$filters = new FilterList();
$tags = $fetcher->fetch($filters);

$tags 将为每个标签名称有一个键

$tags['tag-name']['Class\Name\Of\Service']['tag'] = Egulias\TagDebug\Tag\Tag
$tags['tag-name']['Class\Name\Of\Service']['definition'] = Symfony\Component\DependencyInjection\Definition

过滤

当前过滤器以 "AND" 的方式工作,这意味着标签必须符合所有过滤条件。

<?php

use Egulias\TagDebug\Tag\TagFetcher;
use Egulias\TagDebug\Tag\FilterList;
use Egulias\TagDebug\Tag\Filter\Name;
use Symfony\Component\DependencyInjection\ContainerBuilder;

$containerBuilder = new ContainerBuilder;
$fetcher = new TagFetcher($containerBuilder);

$filters = new FilterList();
$filters->addFilter(new Name("nameToFilterFor"));
$tags = $fetcher->fetch($filters);

您可以通过实现 Egulias\TagDebug\Tag\Filter 并将其添加到过滤列表中来自定义过滤器。