Symfonyob娱乐下载 5.1新增功能:堆栈装饰器
2020年4月27日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
尼古拉斯Grekas
在# 36373.
中间件是分离两个或多个api并提供诸如速率限制、身份验证和日志记录等服务的计算机软件。在Syob娱乐下载mfony中,你可以使用装饰服务.
然而,当装饰多个服务时,配置是冗长的,改变装饰顺序是很麻烦的:
1 2 3 4 5 6 7 8 9
服务:应用\ \梅勒梅勒:~App \梅勒\ RateLimitedMailer:装饰:应用\ \梅勒梅勒参数:[20]每秒邮件数App \梅勒\ LoggingMailer:装饰:应用\ \梅勒梅勒
这就是为什么在Symfonyob娱乐下载 5.1中,我们引入了一种新的语法,使用一个叫做“堆栈”的新概念来连接几个装饰器。这是前面示例的等效配置:
1 2 3 4 5 6 7
服务:应用\ \梅勒梅勒:栈:-App \梅勒\ LoggingMailer:~-App \梅勒\ RateLimitedMailer:参数:[20]-应用\ \梅勒梅勒:~
这种新语法(在使用XML和PHP格式时也可用)使得添加/删除/重新排序装饰服务变得非常简单。与传统中间件相比,“堆栈”的主要优势在于中间件定义了特定于领域的接口,每个处理步骤必须实现该接口才能实现堆栈性。堆栈不需要这个。
此外,可以将堆栈组合起来创建新的堆栈。查看链接的PR以获得更多示例。
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
堆栈是一个通用术语在这种情况下,它比"列表"好不了多少
比较:' decorators '。这句话明确无误地表达了我们的意图。
“装饰师”里有什么?修饰符!
堆栈里有什么?谁知道呢,是一些价值的集合?!