PHP7中我们应该学习会用的新特性

简介:

PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进。本文小编将和大家一起来了解探讨PHP7中的新特性。

1. 标量类型声明

我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码:

(strict_types=) {
     $x + $y;
}  add(, );

有效的类型有:class/interface name, self, array, callable, bool, float, int and string.

2. ?? ——NULL 合并运算符

PHP7中添加了NULL合并运算符,不要小看这个“??”,有了它我们就能很方便的获取一个参数,并能在其为空的情况下提供一个默认值。如何??运算符左侧值存在并且不为NULL,则返回左侧,否则将返回其右侧值。我们还是通过下面一段代码来体验一下??运算符的强大吧。

<?php 
// 获取user参数的值(如果为空,则用'nobody') 
// PHP5中我们这样来实现: 
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; 
// PHP7中,使用??运算符更便捷: 
$username = $_GET['user'] ?? 'nobody'; 
?>

3. 匿名类

匿名类顾名思义没有类名称,其声明和实例化是同时的,PHP7 支持通过 new class 来实例化一个匿名类,可以用来替代一些”用后即焚”的完整类定义。

echo ( {
     {
       ;
    }
})->myMethod();

4. 更多 Error 错误可以进行异常处理

PHP7中更多的Error变为可捕获的Exception返回给开发者,如果不进行捕获则为Error,如果捕获就变为一个可在程序内处理的Exception。默认情况下,Error会直接导致程序中断,而PHP7则通过try / catch程序块捕获并且处理,让程序继续执行下去,为程序员提供更灵活的选择。

代码示例:

nonExistFunction($arg);

这时上面的代码会提示错误“Fatal error: Call to a member function method() on a non-object ”,并且这个致命错误会停止后面代码的继续执行。

所以如果你想继续执行代码,可以通过异常处理的方式解决:

{
    nonExistFunction($arg);  }  (EngineException $e ) {
     ;
}

5. 结合比较运算符(<=> )

这个不多解释,我们直接看示例代码,通过代码你可以很容易了解该运算符的作用。

{
    ($a < $b) ?  : (($a > $b) ?  : )
}  {
    $a <=> $b;
}

6. 定义数组常量

过去我们在用define()定义常量时,数据类型只支持标量,但在PHP7中,支持定义数组类型的常量。

define('MYCONSTANT', array('a','b','c'))

PHP7新增的特性还有很多,今天我们先介绍到这,后续会持续更新,同时也欢迎广大PHPer补充,我们共同交流,共同学习,共同进步。


本文作者:佚名

来源:51CTO

相关文章
|
1月前
|
存储 测试技术 API
PHP 7.4 新特性及性能优化探究
随着互联网和移动应用的不断发展,PHP作为一种流行的服务器端脚本语言,始终保持着其重要性。本文将介绍PHP 7.4的新特性,包括类型属性、预加载、扩展改进等,并深入探讨这些新特性对PHP性能的影响,以及如何优化PHP 7.4代码以提升性能。
|
1月前
|
PHP 调度 开发者
探索PHP新特性:协程编程的崛起
PHP作为一种流行的服务器端脚本语言,近年来不断发展壮大。本文将重点探讨PHP中新兴的技术领域——协程编程,介绍其原理、优势以及在实际项目中的应用场景,帮助读者更好地理解并运用这一技术。
|
19天前
|
测试技术 PHP 开发者
PHP 7.4新特性深度解析
【4月更文挑战第4天】 本文将深入探讨PHP 7.4的新特性,包括预加载,数组解构,扩展的箭头函数等。我们将详细解释这些新特性的作用,以及如何在项目中使用它们来提高代码的效率和可读性。
|
21天前
|
PHP
PHP 7.4的新特性及实践应用
【4月更文挑战第2天】本文主要介绍了PHP 7.4的新特性,并通过实例代码展示了如何在实际项目中应用这些新特性。文章首先简要回顾了PHP的发展历史,然后详细分析了PHP 7.4的新特性,包括预加载、数组解构、扩展的返回类型声明等。接下来,通过实际代码示例,演示了如何在项目中使用这些新特性。最后,总结了PHP 7.4新特性的优势和局限性,并展望了PHP未来的发展趋势。
|
1月前
|
PHP 开发者
PHP 8.1 新特性解析:提升开发效率与性能的利器
本文将深入探讨PHP 8.1的新特性,包括联合方法调用、never返回类型、str_contains函数等,展示这些更新如何提升开发者的工作效率和代码性能。
13 1
|
1月前
|
安全 大数据 编译器
深入理解PHP 8.0的新特性及实践应用
【2月更文挑战第30天】随着PHP 8.0的发布,这一流行的服务器端脚本语言带来了许多令人兴奋的新特性和性能改进。本文将深入探讨PHP 8.0的关键新特性,包括JIT编译器、联合类型、名称参数、匹配表达式等,并通过实际代码示例展示如何利用这些新工具来编写更加高效、简洁和健壮的应用程序。无论您是PHP开发者还是对最新技术趋势感兴趣的技术爱好者,本文都将为您提供宝贵的信息和启发。
20 3
|
1月前
|
编译器 PHP 开发者
PHP 8 新特性解析:提升性能与安全性
随着技术的不断进步,PHP 8作为一种流行的服务器端脚本语言,在性能和安全性方面有了许多值得关注的新特性。本文将深入探讨PHP 8的一些重要更新,包括Just In Time编译器、Union Types、Named Arguments等,帮助开发者更好地利用这些新功能提升应用程序的性能和安全性。
|
4月前
|
人工智能 安全 PHP
PHP特性之CTF中常见的PHP绕过
PHP特性之CTF中常见的PHP绕过
64 1
|
9月前
|
JSON 自然语言处理 算法
PHP7新特性和变化(2)
PHP7新特性和变化
82 0
|
9月前
|
开发框架 安全 .NET
PHP7新特性和变化(1)
PHP7新特性和变化
65 0