新在Symfoob娱乐下载ny 5.3:懒惰命令描述
2021年6月3日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
提供的
尼古拉斯Grekas
在# 39851。
ob娱乐下载Symfony介绍懒惰的命令早在2017年的3.4版本。这一变化使应用程序更快和更健壮,因为命令不再需要实例化应用程序中注册。
然而,Symfonob娱乐下载y命令并不完全懒惰。如果你运行bin /控制台
不带参数(或等价的bin /控制台列表
命令)你看到整个列表的命令注册应用程序和它们的描述。这需要实例化所有命令,因为他们的描述并不懒惰。
你可能会认为这是不重要的,因为你很少列表命令,没关系如果需要几毫秒。没错,但这难度/不可能实现我们想要包含在未来的另一个特点Symfony版本:ob娱乐下载控制台自动完成。
这就是为什么在Symfonyob娱乐下载 5.3中我们引入了一个方式来定义命令描述(和命令别名)懒洋洋地,像命令名。首先,您现在可以添加描述
属性的console.command
标记定义一个配置文件中的命令时:
1 2 3 4 5
#配置/ services.yamlapp.command.my_command:#……标签:- - - - - -{名称:console.command,命令:应用:我的命令,描述:“……”}
如果你喜欢所有这些命令类内部定义,添加新的defaultDescription美元
静态属性:
1 2 3 4 5 6 7 8 9 10 11 12
/ / src /命令/ MyCommand.php名称空间应用程序\命令;使用ob娱乐下载\组件\控制台\命令\命令;类MyCommand扩展命令{受保护的静态美元defaultName=“应用程序:我的命令”;受保护的静态美元defaultDescription=“……”;/ /……}
您现在可以定义命令别名懒洋洋地(这也将为未来重要的控制台自动完成)。为此,添加里面的别名defaultName美元
财产与管道分离字符(|
):
1
受保护的静态美元defaultName=应用:我的命令|项目:我的命令|遗产:foo”;
如果您的应用程序使用PHP 8,请记住,你的另一种方式定义这个懒惰的命令配置的AsCommand
属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /命令/ MyCommand.php名称空间应用程序\命令;使用ob娱乐下载\组件\控制台\属性\AsCommand;使用ob娱乐下载\组件\控制台\命令\命令;# [AsCommand (名称:“应用程序:我的命令”描述:“……”别名:[“项目:我的命令”,“遗产:foo”)))类MyCommand扩展命令{/ /……}
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
哦!我不耐烦。)