Symfonyob娱乐下载 5.2新增功能:PHP 8属性
2020年9月28日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
PHP 8包含了许多有趣的新特性,例如联盟类型,匹配表达式而且建造商财产提升.然而,最受欢迎的新功能是内置的属性(也称为注释)。
ob娱乐下载Symfony 5.2将支持PHP 8属性来定义路由和所需的依赖关系。如果你已经使用了注释,转换将是无缝的:
12 3 4 5 6 7 8 9 10 11 12 13
// BEFORE: Doctrine annotations库定义的注释使用ob娱乐下载\组件\路由\注释\路线;类SomeController{/ * * *@Route("/path", name="action") */公共函数someAction(){/ /……}}
1 2 3 4 5 6 7 8 9 10 11
// AFTER:用PHP 8属性定义的注释使用ob娱乐下载\组件\路由\注释\路线;类SomeController{#[Route('/path', name: 'action')]公共函数someAction(){/ /……}}
相同的路线
类提供了对Doctrine注释和PHP属性的支持,因此不需要更改类导入。唯一需要更改的是更新注释语法,现在看起来像这样:#[…]
这是所有!您的应用程序现在使用本机PHP属性,您可以卸载依赖项,如教义/注释
如果你不在其他地方使用它们。
我们还添加了#[要求]
属性。@ required
注释,并告诉Symfony一个属性/方法ob娱乐下载拥有一个必需的依赖:
12 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载\合同\服务\属性\要求;类SomeService{#[要求]公共酒吧$酒吧;#[要求]公共函数setFoo(Foo$喷火):无效{/ /……}}
随着PHP 8的发布,PHP正在进入一个新的黄金时代,Symfony将从第一天起就完全兼容。ob娱乐下载这些属性只是开始,我们将在未来几周添加更多(例如用于验证)。
发表在#生活在边缘
评论
阿利斯特Bulman
2020年9月28日说在十三11
Rector可以用来从@annotations升级到原生的' #[]'注释。https://github.com/rectorphp/rector/blob/master/docs/rector_rules_overview.md#annotationtoattributerector示例显示了中间的' ',但它确实转换为更新后的' #[…]'。
Sidi LEKHALIFA
2020年9月28日说在13:39
太棒了!
托马斯Votruba
2020年9月28日说在下去
感谢分享!我重新生成了雷克托的文档,现在是正确的了。
Lea Giffard
2020年9月29日说在十六22
@Alister,谢谢你的提示!
伊凡Berezhnov
2020年10月1日说在04:38
非常有趣,谢谢@阿利斯特
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Fahari Hamada Sidi is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now