依赖注入的标签
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.6,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
- assetic.asset
- assetic.factory_worker
- assetic.filter
- assetic.formula_loader
- assetic.formula_resource
- assetic.templating.php
- assetic.templating.twig
- 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
kernel.event_listener标签。
你可以学习一点关于“标签”,读“服务容器章”部分服务的容器。
下面是所有可用的标签在Symfony的信息。ob娱乐下载可能还有其他包使用标签,没有列在这里。
Assetic \ \工厂工人\ WorkerInterface。它的过程(美元资产)
为每个资产在资产创建方法被调用。你甚至可以修改一个资产或返回一个新的。
为了添加一个新工人,首先创建一个类:
1 2 3 4 5 6 7 8 9 10 11
使用Assetic\资产\AssetInterface;使用Assetic\工厂\工人\WorkerInterface;类mywork实现了WorkerInterface{公共函数过程(AssetInterface美元资产){/ /……改变美元资产或返回一个新的}}
然后注册作为一个标记服务:
- 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 /资源/公共/ js /全球。js的过滤器= ' my_filter ' %}<脚本src=”{{asset_url}}”>< /脚本>{%endjavascripts%}
你也可以运用你的过滤器通过assetic.filters.my_filter.apply_to
这里描述的配置选项:如何应用一个Assetic过滤到一个特定的文件扩展名。为了做到这一点,你必须定义过滤服务在一个单独的xml配置文件和通过指向这个文件的路径assetic.filters.my_filter.resource
配置的关键。
Assetic \ \工厂工人\ WorkerInterface。它的过程(美元资产)
为每个资产在资产创建方法被调用。你甚至可以修改一个资产或返回一个新的。
为了添加一个新工人,首先创建一个类:
1 2 3 4 5 6 7 8 9 10 11
使用Assetic\资产\AssetInterface;使用Assetic\工厂\工人\WorkerInterface;类mywork实现了WorkerInterface{公共函数过程(AssetInterface美元资产){/ /……改变美元资产或返回一个新的}}
然后注册作为一个标记服务:
- YAML
- XML
- PHP
1 2 3 4 5
服务:acme.my_worker:类:mywork标签:- - - - - -{名称:assetic.factory_worker}
过程(美元资产)
为每个资产在资产创建方法被调用。你甚至可以修改一个资产或返回一个新的。
为了添加一个新工人,首先创建一个类:
1 2 3 4 5 6 7 8 9 10 11
使用Assetic\资产\AssetInterface;使用Assetic\工厂\工人\WorkerInterface;类mywork实现了WorkerInterface{公共函数过程(AssetInterface美元资产){/ /……改变美元资产或返回一个新的}}
然后注册作为一个标记服务:
- 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 /资源/公共/ js /全球。js的过滤器= ' my_filter ' %}<脚本src=”{{asset_url}}”>< /脚本>{%endjavascripts%}
assetic.filters.my_filter.apply_to
这里描述的配置选项:如何应用一个Assetic过滤到一个特定的文件扩展名。为了做到这一点,你必须定义过滤服务在一个单独的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 (), finishView (), setDefaultOptions ()}
为了让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,别名:场}
的别名
标签的关键字段的类型应该应用于这个扩展。例如,扩展应用于任何形式/字段中,使用“形式”价值。
形式猜测的过程。默认情况下,猜测是通过“猜测”形式的基础上,验证元数据和教义的元数据(如果您正在使用原则)或推动元数据(如果您正在使用推动)。
另请参阅
有关如何创建自己的类型的信息推测者,明白了创建一个自定义类型猜测者。
另请参阅
有关如何创建自己的类型的信息推测者,明白了创建一个自定义类型猜测者。
缓存:热身或缓存:清晰
任务(除非你通过——no-warmup
来缓存:清晰
)。它也运行处理请求时,如果不是通过一个命令。目的是初始化任何所需缓存的应用程序,防止第一个用户任何重要的“缓存命中”,缓存动态生成。
注册自己的缓存温暖,首先创建一个服务实现CacheWarmerInterface接口:
1 2 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中,可选的温暖总是默认执行(你可以改变这一用——no-optional-warmers
选择在执行命令)。
注册你的温暖Symfony,给它ob娱乐下载kernel.cache_warmer
标签:
- YAML
- XML
- PHP
1 2 3 4 5
服务:main.warmer.my_custom_warmer:类:Acme \ MainBundle \ \ MyCustomWarmer缓存标签:- - - - - -{名称:kernel.cache_warmer,优先级:0}
请注意
的优先级
值是可选的,默认为0。优先级越高,越早得到执行。
缓存温暖的类名
优先级
TemplatePathsCacheWarmer
20.
RouterCacheWarmer
0
TemplateCacheCacheWarmer
0
1 2 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中,可选的温暖总是默认执行(你可以改变这一用——no-optional-warmers
选择在执行命令)。kernel.cache_warmer
标签:- YAML
- XML
- PHP
1 2 3 4 5
服务:main.warmer.my_custom_warmer:类:Acme \ MainBundle \ \ MyCustomWarmer缓存标签:- - - - - -{名称:kernel.cache_warmer,优先级:0}
请注意
的优先级
值是可选的,默认为0。优先级越高,越早得到执行。
缓存温暖的类名 | 优先级 |
---|---|
TemplatePathsCacheWarmer | 20. |
RouterCacheWarmer | 0 |
TemplateCacheCacheWarmer | 0 |
kernel.event_subscriber:
- YAML
- XML
- PHP
1 2 3 4 5
服务:kernel.subscriber.your_subscriber_name:类:完全限定\ \用户\类\名称标签:- - - - - -{名称:kernel.event_subscriber}
请注意
您的服务必须实现EventSubscriberInterface接口。
请注意
如果你的服务是由一个工厂,你必须正确设置类
对这个标签参数正确工作。
- YAML
- XML
- PHP
1 2 3 4 5
服务:kernel.subscriber.your_subscriber_name:类:完全限定\ \用户\类\名称标签:- - - - - -{名称:kernel.event_subscriber}
请注意
您的服务必须实现EventSubscriberInterface接口。
请注意
如果你的服务是由一个工厂,你必须正确设置类
对这个标签参数正确工作。
EsiFragmentRenderer——创建一个类,它实现了FragmentRendererInterface,注册一个服务,然后标记它kernel.fragment_renderer
。
应用程序但是你可以换频道当注入记录器在服务。
- YAML
- XML
- PHP
1 2 3 4 5 6
服务:my_service:类:完全限定\ \装载机\类\名称参数:[" @logger "]标签:- - - - - -{名称:monolog.logger,渠道:acme}
提示
如果你使用MonologBundle 2.4或更高版本,您可以配置自定义渠道配置和检索相应的日志记录器服务直接从服务容器(见如何为不同的文件日志消息吗)。
- YAML
- XML
- PHP
1 2 3 4 5 6
服务:my_service:类:完全限定\ \装载机\类\名称参数:[" @logger "]标签:- - - - - -{名称:monolog.logger,渠道:acme}
提示
如果你使用MonologBundle 2.4或更高版本,您可以配置自定义渠道配置和检索相应的日志记录器服务直接从服务容器(见如何为不同的文件日志消息吗)。
routing.loader:
- YAML
- XML
- PHP
1 2 3 4 5
服务:routing.loader.your_loader_name:类:完全限定\ \装载机\类\名称标签:- - - - - -{名称:routing.loader}
有关更多信息,请参见如何创建一个定制的路线装载机。
- YAML
- XML
- PHP
1 2 3 4 5
服务:routing.loader.your_loader_name:类:完全限定\ \装载机\类\名称标签:- - - - - -{名称:routing.loader}
目的:供应商注册一个表达式语言功能的路由
这个标签是用来自动注册表达功能提供者路由表达式的组件。使用这些提供者,您可以定制函数添加到路由表达式语言。
目的:注册一个提供者的表达式语言功能安全
这个标签是用来自动注册表达功能提供者安全表达组件。使用这些提供者,您可以添加自定义功能安全表达式语言。
AbstractFactory和您的自定义身份验证侦听器扩展AbstractAuthenticationListener,那么你的自定义的身份验证侦听器会自动标记应用和它将自动功能。
isGrantedSymob娱乐下载fony的授权检查器,一个系统的“选民”在幕后决定如果用户应该访问。的security.voter
标记允许您添加您自己的自定义系统的选民。
有关更多信息,阅读食谱文章:如何使用选民来检查用户的权限。
swiftmailer.default.plugin(没有选项)。
请注意
默认的
在这个标签是梅勒的名字。如果你有多个邮件配置或改变了默认的梅勒名出于某种原因,你应该改变它的名字你的梅勒为了使用这个标签。
一个SwiftMailer插件必须实现Swift_Events_EventListener
接口。有关插件的更多信息,请参阅SwiftMailer的插件文档欧宝官网下载app。
几个SwiftMailer插件Symfony的核心,通过不同的配置可以被激活。ob娱乐下载有关详细信息,请参见SwiftmailerBundle配置(“swiftmailer”)。
请注意
默认的
在这个标签是梅勒的名字。如果你有多个邮件配置或改变了默认的梅勒名出于某种原因,你应该改变它的名字你的梅勒为了使用这个标签。
Swift_Events_EventListener
接口。有关插件的更多信息,请参阅SwiftMailer的插件文档欧宝官网下载app。现在,注册您的加载程序作为服务和标记translation.loader
:
- YAML
- XML
- PHP
1 2 3 4 5
服务:main.translation.my_custom_loader:类:Acme \ MainBundle \ \ MyCustomLoader翻译标签:- - - - - -{名称:translation.loader,别名:本}
的别名
选项是必需的和非常重要的:它定义了文件“后缀”,将用于使用此加载程序的资源文件。例如,假设您有一些习俗本
格式,你需要加载。如果你有一个本
文件,其中包含法语翻译的消息
域,那么你可能有一个文件app /资源/翻译/ messages.fr.bin
。
当Symfob娱乐下载ony试图加载本
文件时,它将路径传递给您的自定义加载程序的美元的资源
论点。然后您可以执行任何逻辑上你需要文件来加载你的翻译。
如果你从数据库加载翻译,你仍然需要一个资源文件,但它可能是空白或包含一些信息从数据库中加载这些资源。这个文件是触发的关键负载
方法自定义加载程序。