1. 首页
  2. Laravel

LaravelPHP 7.4中的类型化属性

Typed Properties 2.0 RFC以70票赞成、1票反对获得通过。需要2/3的多数,因为类型化属性是一种语言更改。类型化属性更改是PHP 7.4的一个建议。
随着标量类型和返回类型的引入,PHP 7大大增强了PHP类型系统的功能。但是,目前无法为类属性声明类型,这迫使开发人员使用getter和setter方法来强制执行类型约定。这需要不必要的样板,使使用更不符合人体工程学和损害性能。此RFC通过引入对一级属性类型声明的支持来解决此问题。
RFC提供了一个示例,其目标是强制类型安全:使用新接受的RFC,该代码在功能上可以等效为\”不牺牲类型安全\”:最后,这里有一个在运行时为类型属性强制注释中支持的所有有效类型的例子:2****************************************************希望继续在PHP语言中引入类型安全等类型特性。
在另一端,PHP可以在完全不同的范式中使用,即包含类型强制的完全动态语言。然而,随着PHP 7中引入的新类型安全特性的延续,还不清楚使用完全动态的方法来编写PHP应用程序的实用性。
例如,如果Symfony组件和事实上的PHP测试框架PHPUnit等公共库实现了这种语法风格,使用这些库的软件包使用者必须遵循这一要求,适应一种非常注重类型的语言的新世界。
有些人可能会认为,强制使用注重类型的方法是一件好事,这将使程序员用更少的错误编写更好的程序。除此之外,静态分析工具也可以很好地提前发现运行时错误。
至少对我来说,这种讨论很少围绕类型安全使代码更好的具体证据展开,更多的是假设性的场景,这使得我们很难辨别类型安全是否能让代码\”变得更好\”。
我不知道动态和强类型程序员之间的编程风格划分是否会扩大。在我看来,由于开发人员越来越倾向于使用强类型语言,语言特性似乎不可避免地会避开动态编程风格。
这对那些不使用类型编程的人来说意味着什么?只有时间会证明一切,但我预测,至少有一小部分希望该语言保持其动态根源的程序员会转向其他语言rfc:类型化的u属性u v2在这一点上,建议书是获得准确信息的最佳来源。类型化属性的实现已经在进行中。

LaravelPHP 7.4中的类型化属性 为WP2原创文章,链接:https://www.wp2.cn/laravel/laravelphp-7-4%e4%b8%ad%e7%9a%84%e7%b1%bb%e5%9e%8b%e5%8c%96%e5%b1%9e%e6%80%a7/