依赖注入标签
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.0,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
- assetic.asset
- assetic.factory_worker
- assetic.filter
- assetic.formula_loader
- assetic.formula_resource
- assetic.templating.php
- assetic.templating.twig
- data_collector
- doctrine.event_listener
- doctrine.event_subscriber
- form.type
- form.type_extension
- form.type_guesser
- kernel.cache_warmer
- kernel.event_listener
- monolog.logger
- monolog.processor
- routing.loader
- security.listener.factory
- security.remember_me_aware
- security.voter
- swiftmailer.plugin
- templating.helper
- translation.loader
- twig.extension
- validator.constraint_validator
- validator.initializer
kernel.event_listener标签。
你可以通过阅读“标签”来了解更多关于“标签”的知识。服务容器的部分。
下面是关于Symfony2中所有可用标记的信息。ob娱乐下载在您使用的其他捆绑包中也可能有这里没有列出的标记。
标签名
使用
assetic.asset
将资产注册到当前资产管理器
assetic.factory_worker
添加一个工厂工人
assetic.filter
注册一个过滤器
assetic.formula_loader
向当前资产管理器添加公式加载器
assetic.formula_resource
将资源添加到当前资产管理器
assetic.templating.php
如果禁用php模板,则删除此服务
assetic.templating.twig
如果禁用树枝模板,则删除此服务
data_collector
创建一个为分析器收集自定义数据的类
doctrine.event_listener
添加Doctrine事件监听器
doctrine.event_subscriber
添加Doctrine事件订阅者
form.type
创建自定义表单字段类型
form.type_extension
创建一个自定义的“表单扩展”
form.type_guesser
为“表单类型猜测”添加自己的逻辑
kernel.cache_warmer
注册在缓存升温过程中调用的服务
kernel.event_listener
在Symfony中聆听不同的事件/钩子ob娱乐下载
monolog.logger
使用自定义日志通道进行日志记录
monolog.processor
为日志记录添加一个自定义处理器
routing.loader
注册一个加载路由的自定义服务
security.voter
向Symfony的授权逻辑添加一个自定义投票ob娱乐下载人
security.remember_me_aware
允许“记得我”认证
security.listener.factory
创建自定义身份验证系统时必须使用
swiftmailer.plugin
注册一个自定义SwiftMailer Plugin
templating.helper
使您的服务在PHP模板中可用
translation.loader
注册一个加载翻译的自定义服务
twig.extension
注册一个自定义分支扩展
validator.constraint_validator
创建您自己的自定义验证约束
validator.initializer
注册一个在验证之前初始化对象的服务
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
服务:acme.my_worker:类:mywork标签:-{名称:assetic.factory_worker}
其次,定义一个服务:
- YAML
- XML
- PHP
1 2 3 4 5
服务:acme.my_filter:类:MyFilter标签:-{名称: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
配置的关键。
标签名 | 使用 |
assetic.asset | 将资产注册到当前资产管理器 |
assetic.factory_worker | 添加一个工厂工人 |
assetic.filter | 注册一个过滤器 |
assetic.formula_loader | 向当前资产管理器添加公式加载器 |
assetic.formula_resource | 将资源添加到当前资产管理器 |
assetic.templating.php | 如果禁用php模板,则删除此服务 |
assetic.templating.twig | 如果禁用树枝模板,则删除此服务 |
data_collector | 创建一个为分析器收集自定义数据的类 |
doctrine.event_listener | 添加Doctrine事件监听器 |
doctrine.event_subscriber | 添加Doctrine事件订阅者 |
form.type | 创建自定义表单字段类型 |
form.type_extension | 创建一个自定义的“表单扩展” |
form.type_guesser | 为“表单类型猜测”添加自己的逻辑 |
kernel.cache_warmer | 注册在缓存升温过程中调用的服务 |
kernel.event_listener | 在Symfony中聆听不同的事件/钩子ob娱乐下载 |
monolog.logger | 使用自定义日志通道进行日志记录 |
monolog.processor | 为日志记录添加一个自定义处理器 |
routing.loader | 注册一个加载路由的自定义服务 |
security.voter | 向Symfony的授权逻辑添加一个自定义投票ob娱乐下载人 |
security.remember_me_aware | 允许“记得我”认证 |
security.listener.factory | 创建自定义身份验证系统时必须使用 |
swiftmailer.plugin | 注册一个自定义SwiftMailer Plugin |
templating.helper | 使您的服务在PHP模板中可用 |
translation.loader | 注册一个加载翻译的自定义服务 |
twig.extension | 注册一个自定义分支扩展 |
validator.constraint_validator | 创建您自己的自定义验证约束 |
validator.initializer | 注册一个在验证之前初始化对象的服务 |
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
服务:acme.my_worker:类:mywork标签:-{名称: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
服务:acme.my_worker:类:mywork标签:-{名称:assetic.factory_worker}
- YAML
- XML
- PHP
1 2 3 4 5
服务:acme.my_filter:类:MyFilter标签:-{名称: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
配置的关键。FormTypeCsrfExtension).
表单类型扩展可以修改表单中任何字段的任何部分。要创建表单类型扩展,首先创建一个实现FormTypeExtensionInterface接口。为简单起见,您通常会扩展AbstractTypeExtension类,而不是直接使用接口:
1 2 3 4 5 6 7 8 9 10
/ / src / Acme / MainBundle /形式/类型/ MyFormTypeExtension.php名称空间Acme\MainBundle\形式\类型;使用ob娱乐下载\组件\形式\AbstractTypeExtension;类MyFormTypeExtension扩展AbstractTypeExtension{/ /……填写您想覆盖的任何方法//像buildForm(), buildView(), buildViewBottomUp(), getDefaultOptions()或getAllowedOptionValues()}
为了让Symfony了解您ob娱乐下载的表单扩展并使用它,请给它“form”。type_extension的标签:
- YAML
- XML
- PHP
1 2 3 4 5
服务:main.form.type.my_form_type_extension:类:Acme \ MainBundle \ \ \ MyFormTypeExtension型形式标签:-{名称:form.type_extension,别名:场}
的别名
标签的Key是应该应用此扩展的字段类型。例如,要将扩展应用到任何“字段”,请使用“field”值。
形式猜测的过程。默认情况下,表单猜测是由基于验证元数据和Doctrine元数据的“猜测者”完成的(如果您使用Doctrine)。
若要添加自己的表单类型猜测器,请创建实现FormTypeGuesserInterface接口。接下来,用标记它的服务定义form.type_guesser
(它没有选择)。
要查看该类的示例,请参见ValidatorTypeGuesser
类形式
组件。
缓存:热身或缓存:清晰
任务(除非你通过——no-warmup
来缓存:清晰
).目的是初始化应用程序将需要的任何缓存,并防止第一个用户在动态生成缓存的情况下受到任何重要的“缓存命中”。
要注册自己的缓存预热器,首先创建一个实现CacheWarmerInterface接口:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MainBundle /缓存/ MyCustomWarmer.php名称空间Acme\MainBundle\缓存;使用ob娱乐下载\组件\HttpKernel\CacheWarmer\CacheWarmerInterface;类MyCustomWarmer实现了CacheWarmerInterface{公共函数热身($cacheDir){//做一些操作来“温暖”你的缓存}公共函数isOptional(){返回真正的;}}
的isOptional
方法应返回true,如果可以在不调用此缓存预热器的情况下使用应用程序。在Syob娱乐下载mfony 2.0中,可选的暖器总是被执行,所以这个函数没有实际效果。
要在Symfony中注册您的温暖器,请给它内核。ob娱乐下载cache_warmer标签:
- YAML
- XML
- PHP
1 2 3 4 5
服务:main.warmer.my_custom_warmer:类:Acme \ MainBundle \ \ MyCustomWarmer缓存标签:-{名称:kernel.cache_warmer,优先级:0}
的优先级
Value是可选的,默认为0。这个值可以是-255到255,暖器将按照优先级顺序执行。
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MainBundle /缓存/ MyCustomWarmer.php名称空间Acme\MainBundle\缓存;使用ob娱乐下载\组件\HttpKernel\CacheWarmer\CacheWarmerInterface;类MyCustomWarmer实现了CacheWarmerInterface{公共函数热身($cacheDir){//做一些操作来“温暖”你的缓存}公共函数isOptional(){返回真正的;}}
isOptional
方法应返回true,如果可以在不调用此缓存预热器的情况下使用应用程序。在Syob娱乐下载mfony 2.0中,可选的暖器总是被执行,所以这个函数没有实际效果。- YAML
- XML
- PHP
1 2 3 4 5
服务:main.warmer.my_custom_warmer:类:Acme \ MainBundle \ \ MyCustomWarmer缓存标签:-{名称:kernel.cache_warmer,优先级:0}
优先级
Value是可选的,默认为0。这个值可以是-255到255,暖器将按照优先级顺序执行。如何创建事件监听器食谱条目。
有关内核侦听器的另一个实际示例,请参阅烹饪书文章:如何注册一个新的请求格式和Mime类型。
监听器类名称 | 优先级 |
ProfilerListener | 1024 |
RouterListener | 0和255 |
TestSessionListener | 192 |
SessionListener | 128 |
防火墙 | 64 |
监听器类名称 | 优先级 |
RequestDataCollector | 0 |
监听器类名称 | 优先级 |
EsiListener | 0 |
ResponseListener | 0 |
ResponseListener | 0 |
ProfilerListener | -100年 |
TestSessionListener | -128年 |
WebDebugToolbarListener | -128年 |
监听器类名称 | 优先级 |
ProfilerListener | 0 |
ExceptionListener | -128年 |