PHP 7.3提供的主要功能

本文概述

  • Heredoc和Nowdoc语法的实现
  • JSON_THROW_ON_ERROR
  • is_countable
  • array_key_first(), array_key_last()
  • 不区分大小写的常量
  • image2wbmp()
【PHP 7.3提供的主要功能】PHP团队通过给他们一个新版本的PHP 7.3语言的圣诞节礼物, 给业界的PHP开发人员以愉悦的感觉。这个新版本的日程安排了许多次部署, 但是值得等待。它涵盖了将促进PHP开发的所有增强功能和功能列表。
值得经历将影响PHP开发的全新特性。进行更改的主要区域是语法, 弃用, 包含新功能和其他杂项更改。你可以聘请专门的PHP开发人员USA并享受应用程序的新外观。
此版本的主要改进之一是对外部功能接口(FFI)的支持, 该功能允许PHP程序员甚至在PHP脚本内部也可以用C编写代码。根据Phoronix的说法, 最新的PHP 7.3候选版本将使性能提高近10%, 比7.0快31%。让我们进一步探讨有助于开发人员编写更好代码的细微差别。
Heredoc和Nowdoc语法的实现它有助于在不使用换行符的情况下为电子邮件网站创建多行文本, SQL查询和HTML代码段。 Heredoc是一项更新, 提出了2个新更改:
  1. 用于标识的闭合标记;
  2. 在结束标记后删除新的行要求。
这项新更改引起了许多人的注意力, 就像以前的代码看起来很难看, 但这将使代码看起来更优雅并且易于理解。早期版本的代码如下:
print < < < EOTHeredoc text behaves just like a double-quoted string, without the double quotes.EOT;

新代码如下所示:
print < < < 'EOT'Nowdocs are to single-quoted strings what heredocs are to double-quoted strings.EOT;

JSON_THROW_ON_ERROR开发人员长期使用PHP面临的主要问题是如何充分处理错误。只有两个函数json_encode()和json_decode()可用于解析响应。 Json_encode()仅引发错误错误, 而json_decode()则引发null。知道错误的最终方法是调用json_last_error()或json_last_error_msg(), 它们仅返回全局错误状态。
23-0投票要求了此功能, 这表明拥有此功能有多重要。让我们看一个例子:
json_decode("{"); json_last_error() === JSON_ERROR_NONE // the result is falsejson_last_error_msg() // The result is "Syntax error"

它仅显示代码有错误, 但是在哪里?问题仍然存在, 使用JSON_THROW_ON_ERROR的新标志, 代码将变为:
use JsonException; try {$json = json_encode("{", JSON_THROW_ON_ERROR); return base64_encode($json); } catch (JsonException $e) {throw new EncryptException('Could not encrypt the data.', 0, $e); }

这确实有助于开发人员了解代码中的问题实际发生的位置。
is_countable使用早期版本的PHP, 很难计算不可数的对象。它发出警告。代码中的可计数元素可能会有所不同, 它可以是数组格式的变量, 也可以是其类实现Countable接口的对象。
新版本引入了is_countable函数, 如果给定值是数组类型1, 则该函数返回true。
if (is_array($foo) || $foo instanceof Countable) {// $foo is countable}

新的更新代码如下所示:
if (is_countable($foo)) {// $foo is countable}

代码看起来不流畅并且容易记住吗?你甚至可以在三元条件运算符中使用此函数。
array_key_first(), array_key_last()最新的PHP版本具有75个内置函数, 属于数组类别。以前, 如果我们要检索数组的第一个或最后一个键, 则必须先获取所有键, 然后再获取第一个或最后一个值。通过使用end()或reset(), 是获取密钥的另一种方法。新版本提议引入四种新方法, 即:
  • array_key_first()
  • array_key_last()
  • array_value_first()
  • array_value_last()
这是新代码的示例:
// usage of an associative array$array = ['a' => 1, 'b' => 2, 'c' => 3]; $firstKey = array_key_first($array); $lastKey = array_key_last($array); assert($firstKey === 'a'); assert($lastKey === 'c'); // usage of a numeric array$array = [1 => 'a', 2 => 'b', 3 => 'c']; $firstKey = array_key_first($array); $lastKey = array_key_last($array); assert($firstKey === 1); assert($lastKey === 3);

其他一些新引入的功能包括:
  • 在函数调用中允许逗号结尾;
  • List()参考分配;
  • Json与WordPress轻松通信;
  • 相同的站点cookie。
以上是最新版本中引入的语法和新功能, 让我们看一下PHP中不推荐使用的一些功能。
不区分大小写的常量不区分大小写的内容使用起来有些复杂。 PHP 7.3不建议使用第三个参数值调用define()。它还不建议使用大小写不敏感的常量, 该常量的大小写与声明位置不同。在此不考虑诸如true, false和null之类的常量。
image2wbmp()函数image2wbmp()返回WBMP或位图格式。另一个函数imagewbmp()应该处理所需的单色转换。这导致函数的重复, 因此image2wbmp()在新版本中被删除。如果错误使用, 将给出不建议使用的警告或引发致命错误。其他已删除的功能是:
  • 未记录的mbstring函数别名;
  • 带整数针的字符串搜索功能;
  • fgetss()函数和string.strip_stags流过滤器
强烈建议开发人员使用这种开源脚本语言, 以使你的网站更快且没有错误。它与几乎所有服务器和数据库标准兼容。该平台还允许收集数据并向用户发送电子邮件。 PHP和CMS支持诸如Facebook, Yahoo, Wikipedia, WordPress, Joomla和Magento之类的热门网站。由于美国的PHP Web开发公司将获得无与伦比的收益, 因此更新此新版本至关重要。
你可以检查当前的PHP版本。开发人员可以从官方网站获取新版本。在这里你还将获得有关所有内容的详细信息。我们列出了一些有关PHP 7.3的显式功能, 现在轮到你利用这些优势了。

    推荐阅读