内置的Symfonob娱乐下载y服务标签
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.7,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
- assetic.asset
- assetic.factory_worker
- assetic.filter
- assetic.formula_loader
- assetic.formula_resource
- assetic.templating.php
- assetic.templating.twig
- auto_alias
- console.command
- data_collector
- doctrine.event_listener
- doctrine.event_subscriber
- form.type
- form.type_extension
- form.type_guesser
- kernel.cache_clearer
- kernel.cache_warmer
- kernel.event_listener
- kernel.event_subscriber
- kernel.fragment_renderer
- monolog.logger
- monolog.processor
- routing.loader
- routing.expression_language_provider
- security.expression_language_provider
- security.remember_me_aware
- security.voter
- serializer.encoder
- serializer.normalizer
- swiftmailer.default.plugin
- templating.helper
- translation.loader
- translation.extractor
- translation.dumper
- twig.extension
- twig.loader
- validator.constraint_validator
- validator.initializer
服务标签该机制是由DependencyInjection组件标记需要特殊处理的服务,如控制台命令或Twig扩展。
这些是Symfony组件提供的最常见的标记,但在您的应用程序中,第三方包可能提供更多可ob娱乐下载用的标记:
Assetic \ \工厂工人\ WorkerInterface.它的过程(美元资产)
方法在创建资产后为每个资产调用。您可以修改资产,甚至返回一个新的资产。
为了添加一个新的worker,首先创建一个类:
1 2 3 4 5 6 7 8 9 10 11
使用Assetic\资产\AssetInterface;使用Assetic\工厂\工人\WorkerInterface;类mywork实现了WorkerInterface{公共函数过程(AssetInterface$资产){/ /……更改$asset或返回一个新的}}
然后把它注册为一个带标签的服务:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_assetic_worker:类:AppBundle \ Assetic \ CustomWorker标签:-{名称:assetic.factory_worker}
过程(美元资产)
方法在创建资产后为每个资产调用。您可以修改资产,甚至返回一个新的资产。
为了添加一个新的worker,首先创建一个类:
1 2 3 4 5 6 7 8 9 10 11
使用Assetic\资产\AssetInterface;使用Assetic\工厂\工人\WorkerInterface;类mywork实现了WorkerInterface{公共函数过程(AssetInterface$资产){/ /……更改$asset或返回一个新的}}
然后把它注册为一个带标签的服务:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_assetic_worker:类:AppBundle \ Assetic \ CustomWorker标签:-{名称:assetic.factory_worker}
其次,定义一个服务:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_assetic_filter:类:AppBundle \ Assetic \ CustomFilter标签:-{名称:assetic.filter,别名:my_filter}
最后,应用滤镜:
1 2 3 4 5 6
{%javascript'@AcmeBaseBundle/Resources/public/js/global.js' filter='my_filter' %}<脚本src="{{asset_url}}">脚本>{%endjavascripts%}
您还可以通过assetic.filters.my_filter.apply_to
配置选项,如下所示:如何应用一个汇编过滤器到特定的文件扩展名.要做到这一点,必须在单独的xml配置文件中定义筛选器服务,并通过assetic.filters.my_filter.resource
配置的关键。
目的:根据容器参数的值定义别名
考虑下面的配置,它定义了三个不同但相关的服务:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10
服务:app.mysql_lock:类:AppBundle \ \ MysqlLock锁公众:假app.postgresql_lock:类:AppBundle \ \ PostgresqlLock锁公众:假app.sqlite_lock:类:AppBundle \ \ SqliteLock锁公众:假
应用程序不需要处理这三个服务,而是需要一个通用服务app.lock
服务,该服务将是这些服务之一的别名,具体取决于某些配置。多亏了auto_alias
选项,则可以根据配置参数的值自动创建该别名。
考虑到配置参数叫做database_type
的存在。然后是通用的app.lock
服务的定义如下:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10
服务:app.mysql_lock:#……app.postgresql_lock:#……app.sqlite_lock:#……app.lock:标签:-{名称:auto_alias,格式:“应用,% database_type % _lock”}
的格式
选项定义用于构造为别名的服务名称的表达式。这个表达式可以使用任何容器参数(像往常一样,将它们的名称包装为%
字符)。
请注意
当使用auto_alias
标记,将别名服务定义为私有并不是强制性的。然而,这样做(就像上面的例子一样)在大多数情况下是有意义的,可以防止直接访问这些服务,而不是使用通用服务别名。
请注意
需要手动添加ob娱乐下载
编译器传递给容器以使该特性工作。
如何创建自定义数据收集器篇文章。
事件监听器和订阅器篇文章。
事件监听器和订阅器篇文章。
如何创建自定义表单字段类型篇文章。
如何创建一个表单类型扩展篇文章。
形式猜测的过程。默认情况下,表单猜测是由基于验证元数据和Doctrine元数据(如果使用Doctrine)或Propel元数据(如果使用Propel)的“猜测者”完成的。
另请参阅
有关如何创建自己的类型猜测器的信息,请参见创建一个自定义类型猜测器.
另请参阅
有关如何创建自己的类型猜测器的信息,请参见创建一个自定义类型猜测器.
缓存:热身或缓存:清晰
命令(除非你通过——no-warmup
来缓存:清晰
).它也会在处理请求时运行,如果其中一个命令还没有完成请求的话。目的是初始化应用程序将需要的任何缓存,并防止第一个用户在动态生成缓存的情况下受到任何重要的“缓存命中”。
要注册自己的缓存预热器,首先创建一个实现CacheWarmerInterface接口:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MainBundle /缓存/ MyCustomWarmer.php名称空间AppBundle\缓存;使用ob娱乐下载\组件\HttpKernel\CacheWarmer\CacheWarmerInterface;类MyCustomWarmer实现了CacheWarmerInterface{公共函数热身($cacheDirectory){/ /……做一些操作来“加热”你的缓存}公共函数isOptional(){返回真正的;}}
的isOptional ()
方法应返回true,如果可以在不调用此缓存预热器的情况下使用应用程序。在Syob娱乐下载mfony中,默认情况下总是执行可选的暖器(您可以使用——no-optional-warmers
选项)。
在Symfony注册你的暖气,给它ob娱乐下载kernel.cache_warmer
标签:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.warmer.my_custom_warmer:类:AppBundle \ \ MyCustomWarmer缓存标签:-{名称:kernel.cache_warmer,优先级:0}
请注意
的优先级
Value为可选参数,默认值为0。优先级越高,执行得越快。
谨慎
如果您的缓存温暖器因为任何异常而执行失败,Symfony将不会尝试为下一个请求再次执行它。ob娱乐下载因此,当缓存预热器生成的内容不可用时,您的应用程序和/或包应该做好准备。
缓存温暖器类名称
优先级
TemplatePathsCacheWarmer
20.
RouterCacheWarmer
0
TemplateCacheCacheWarmer
0
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MainBundle /缓存/ MyCustomWarmer.php名称空间AppBundle\缓存;使用ob娱乐下载\组件\HttpKernel\CacheWarmer\CacheWarmerInterface;类MyCustomWarmer实现了CacheWarmerInterface{公共函数热身($cacheDirectory){/ /……做一些操作来“加热”你的缓存}公共函数isOptional(){返回真正的;}}
isOptional ()
方法应返回true,如果可以在不调用此缓存预热器的情况下使用应用程序。在Syob娱乐下载mfony中,默认情况下总是执行可选的暖器(您可以使用——no-optional-warmers
选项)。kernel.cache_warmer
标签:- YAML
- XML
- PHP
1 2 3 4 5
服务:app.warmer.my_custom_warmer:类:AppBundle \ \ MyCustomWarmer缓存标签:-{名称:kernel.cache_warmer,优先级:0}
请注意
的优先级
Value为可选参数,默认值为0。优先级越高,执行得越快。
谨慎
如果您的缓存温暖器因为任何异常而执行失败,Symfony将不会尝试为下一个请求再次执行它。ob娱乐下载因此,当缓存预热器生成的内容不可用时,您的应用程序和/或包应该做好准备。
缓存温暖器类名称 | 优先级 |
---|---|
TemplatePathsCacheWarmer | 20. |
RouterCacheWarmer | 0 |
TemplateCacheCacheWarmer | 0 |
kernel.event_subscriber:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_subscriber:类:AppBundle \ EventListener \ CustomSubscriber标签:-{名称:kernel.event_subscriber}
请注意
服务必须实现EventSubscriberInterface接口。
请注意
如果您的服务是由工厂创建的,那么您必须正确设置类
参数使该标记正常工作。
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_subscriber:类:AppBundle \ EventListener \ CustomSubscriber标签:-{名称:kernel.event_subscriber}
请注意
服务必须实现EventSubscriberInterface接口。
请注意
如果您的服务是由工厂创建的,那么您必须正确设置类
参数使该标记正常工作。
EsiFragmentRenderer-创建一个实现FragmentRendererInterface,将其注册为服务,然后标记为kernel.fragment_renderer
.
应用程序但是您可以在将记录器注入服务时更改通道。
- YAML
- XML
- PHP
1 2 3 4 5 6
服务:app.custom_logger:类:AppBundle \ \ customlog日志参数:(“@logger”)标签:-{名称:monolog.logger,渠道:acme}
提示
如果您使用MonologBundle 2.4或更高版本,您可以在配置中配置自定义通道,并直接从服务容器中检索相应的记录器服务如何将消息记录到不同的文件).
- YAML
- XML
- PHP
1 2 3 4 5 6
服务:app.custom_logger:类:AppBundle \ \ customlog日志参数:(“@logger”)标签:-{名称:monolog.logger,渠道:acme}
提示
如果您使用MonologBundle 2.4或更高版本,您可以在配置中配置自定义通道,并直接从服务容器中检索相应的记录器服务如何将消息记录到不同的文件).
routing.loader:
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_routing_loader:类:AppBundle \ \ CustomLoader路由标签:-{名称:routing.loader}
有关更多信息,请参见如何创建自定义路由加载器.
- YAML
- XML
- PHP
1 2 3 4 5
服务:app.custom_routing_loader:类:AppBundle \ \ CustomLoader路由标签:-{名称:routing.loader}
目的:为路由中的表达式语言函数注册一个提供者
此标记用于自动注册表达式函数提供程序用于路由表达式组件。使用这些提供程序,您可以向路由表达式语言添加自定义函数。
目的:在安全中为表达式语言函数注册一个提供者
此标记用于自动注册表达式函数提供程序用于安全表达式组件。使用这些提供程序,您可以向安全表达式语言添加自定义函数。