新在Symfoob娱乐下载ny 6.1:服务装饰属性
2022年5月2日·发表的哈维尔Eguiluz
的装饰器模式是一种设计模式,允许修改单个对象的行为,而不影响其他对象从同一个类的行为。在Syob娱乐下载mfony应用程序中,装饰服务允许你改变一些服务的行为没有替换或修改应用程序的其他部分。
你已经可以使用YAML配置服务装饰,XML和PHP。在Syob娱乐下载mfony 6.1我们添加的选项使用PHP配置装饰属性。
考虑一般情况(如你想装修服务。梅勒
)和一个新的服务,增加(如日志记录功能。LoggingMailer
)。这就是你可以用PHP配置装饰属性:
1 2 3 4 5 6 7 8 9 10 11
/ / src /梅勒/ LoggingMailer.php名称空间应用程序\梅勒;/ /……使用ob娱乐下载\组件\DependencyInjection\属性\AsDecorator;# (AsDecorator(装修:梅勒::类))类LoggingMailer{/ /……}
的# (AsDecorator)
属性支持所有你可能需要的额外选项:
1 2 3 4 5 6 7 8 9 10 11
/ /……# [AsDecorator (装修:梅勒::类、优先级:10onInvalid: ContainerInterface::IGNORE_ON_INVALID_REFERENCE,)类LoggingMailer{/ /……}
如果你需要访问服务内部装修装饰,添加# (MapDecorated)
属性的任何服务构造函数参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/ /……使用ob娱乐下载\组件\DependencyInjection\属性\AsDecorator;使用ob娱乐下载\组件\DependencyInjection\属性\MapDecorated;# (AsDecorator(装修:梅勒::类))类LoggingMailer{公共函数__construct(# MapDecorated梅勒美元originalMailer){/ /……}/ /……}
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
如果您希望使用服务装饰在5.4/6.0,你需要使用一个配置文件。