亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

PHP 7 发布:主要功能和您需要了解的内容

如果您是一名开发人员,您可能知道新 PHP 7 功能完整的测试版已经发布。 7.0.0 版本包含许多很酷的特性和功能。但是,我们建议您不要在生产环境中使用它 ,直到您获得稳定版本,预计将于 15 年 11 月发布。

您可以自由测试和使用最新的测试版,并报告测试过程中发现的错误。我们列出了您将在 PHP 7.0.0 中看到的所有更改/升级。

16。这是 PHP 7(不是 6)

当前的稳定版本是 PHP 5.6。因此,很多开发者都在期待6.0版本的到来。他们不知道的是,PHP 6 过去已经作为实验过程存在,但从未进入生产阶段。核心开发团队决定将 PHP 6 名称传递给下一个主要版本。

15。 64 位 Windows 支持

当前的 PHP 版本不提供 64 位整数或大文件支持。未来情况将会发生变化,因为 PHP 7 引入了一致的 64 位支持,这意味着将支持本机 64 位整数和大文件。

14。删除已弃用的功能和扩展

PHP 7 的主要目标之一是释放内存以实现改进,因此有必要消除旧的不受支持的服务器 API、扩展和已弃用的功能。
所有被移除的物品都已经很长时间没有被使用了。但是,如果您有在旧版本上运行的遗留应用程序,升级到 PHP 7 可能会破坏代码。

阅读:面向开发人员的 30 个错误跟踪工具

13。团体使用声明

创建此 RFC 的目的是通过引入声明组的概念来改进当前的 PHP 命名空间实现。此功能对于那些通常从同一名称空间导入许多类的编码人员很有用。新语法消除了冗长的内容,使您的代码更加整洁,并节省了大量的打字时间。

12。匿名类

匿名类的概念已经在其他面向对象的编程语言(如 Java 和 C#)中使用。它们只不过是一个没有名称的类,可以加快编码速度和执行时间。当某个类在执行期间仅使用一次并且不需要记录某个类时,您应该使用它们。

11。统一变量语法

统一变量语法解决了表达式计算方式中的许多不一致问题。例如,能够使用($object->closureProperties)()调用分配给属性的闭包 ,以及能够链接静态调用。

在旧版本的 PHP 中,$obj->$properties['name']  将访问名称位于属性数组的名称键中的属性。现在,它将访问名称位于 $properties 中的属性的名称键。

10。 Unicode 代码点转义语法

新的转义字符 (\u) 让我们可以在字符串内明确指定 Unicode 字符代码点(以十六进制表示)。 例如,如果您无法输入任何表情符号,您可以使用其转义序列。

9。异常处理中的共享父类

对于 PHP 编码人员来说,处理致命错误和可捕获的致命错误从来都不是一件容易的事。借助新的引擎异常,您可以用异常替换此类错误。
为了使编码人员能够捕获传统异常和引擎异常,PHP 7 引入了一个新的共享父类,名为\BaseException .

8。调用时绑定关闭

闭包::bind()  和Closure->bindTo()   允许您更改$this的绑定  和调用范围,单独或一起创建重复的闭包   在 PHP 7 中,有一种简单的方法可以在调用时执行此操作,即绑定 $this  并对同一对象调用作用域并添加  关闭->call()。  该方法将对象作为其第一个参数,后跟要传递到闭包中的任何参数。

7。空合并运算符

合并运算符用“??”表示。如果第一个操作数存在且不为 NULL,则返回其结果,否则返回第二个操作数。这意味着使用合并是完全安全的,因为即使该值不存在,它也不会引发 E_NOTICE。

6。组合比较运算符

组合比较运算符(也称为太空船运算符)类似于 version_compare() 或 strcmp() 行为,但它可以在所有通用 PHP 值中使用。它已经存在于 Ruby 和 Perl 编程语言中。
如果左操作数较大,则该运算符返回 -1;如果两者相等,则返回 0;如果左操作数较大,则返回 1。

5。生成器返回表达式和生成器委托

生成器返回表达式允许您在成功完成生成器后返回一个值。在 PHP 7 中,您可以调用$generator->getReturn()  检索返回值。如果生成器尚未返回或抛出未捕获的异常,$generator->getReturn()  会抛出异常。如果生成器已完成但没有返回,则返回 NULL。

生成器委托功能允许您返回另一个本身可以遍历的可迭代结构,无论它是迭代器、数组还是其他生成器。子结构的迭代是由最外层的原始循环完成的,而不是递归的。

4。返回类型声明

许多程序员希望声明函数的返回类型。它有助于防止意外的返回值和子类型破坏超类型的预期返回类型,尤其是在接口中。此外,PHP 7 还为标量类型提供了 4 种新类型减速 - string、int、float 和 bool。这些新类型允许编码人员指定他们期望返回整数、浮点、字符串和布尔值。
在上图中,函数 foo 应该以数组形式返回。查看一些复杂的示例。

3。抽象语法树

最大且最不可见的变化是添加了抽象语法树——编译期间代码的中间表示。它取代了直接从解析器发出操作码的现有做法。这使我们能够消除一些黑客行为,并使实现更易于理解和维护。此外,您还可以实现单遍编译过程无法实现的语法。

2。全新 Zend 引擎

第一个 Zend 引擎于 1999 年在 PHP 4 中引入。它是一个解释 PHP 的开源脚本引擎(用 C 语言编写)。  当前的 PHP 版本使用 Zend Engine II,它提供内存和资源管理,并为该语言添加了可扩展的对象模型和显着的性能增强。
新的 Zend Engine III 最初代号为 phpng,正在针对 PHP 7 进行开发。

1。性能+内存节省

升级到 PHP 7 的最大原因是它的性能。这是个好消息,特别是对于较小的主机而言,因为它们将能够在相同的硬件上接待更多的客户。第 7 个版本的性能与 Facebook HHVM 相当,后者具有 JIT(即时)编译器,允许在运行时而不是在执行之前进行编译。 由于内部数据结构的优化,还可以节省大量内存。

推荐:面向程序员和开发人员的 30 个令人惊叹的 PHP 库

正如您在 Zend 发布的图表中看到的那样,PHP 5.6 上的 WordPress 请求在 100M CPU 指令下执行,而 PHP 7 只执行 25M 即可完成相同的工作。此外,测试表明您可以在相同的硬件上运行 3 倍的 Magento 事务,并且 Drupal 8 使用 PHP 7 的运行速度提高了 72%。


工业技术

  1. 8 关于五轴加工中心和高性能加工的重要事实
  2. 如何构建无线电中继器:完整指南
  3. 为什么飞行光学器件具有竞争优势
  4. 通过程序化商务,消费者推动供应链
  5. 阳极氧化和电镀为零件提供腐蚀保护
  6. 是时候重新考虑稀土元素的数学计算了
  7. 通过新的现场系统提供的 UID 标签和解决方案
  8. LM1036 – 双直流操作音调/音量/平衡电路
  9. 向制造营销机构提出的问题
  10. 选择铝或不锈钢制造时要考虑的6个因素
  11. 是什么导致货运行业的费用增加
  12. 8 个著名的金属制造神话被揭穿