1.标量类型声明
PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,来看一段代码:
declare(strict_types=1)
function add(int $x, int $y) : int
{
return $x+ $y;
}
echo add(1, 2); //int(7)
有效的类型有:class/interfacename, self, array, callable, bool, float, int and string.
如果不开启strict_type,PHP将会尝试帮你转换成要求的类型,而开启之后,会改变PHP就不再做类型转换,类型不匹配就会抛出错误。
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 (new class() {
publicfunction myMethod() {
return"Hello!";
}
})->myMethod();
//Result: Hello!
4.定义数组常量
define('MYCONSTANT', array('a','b','c'));
5.结合比较运算符(<=>)
用于比较两个表达式。当$a 大于、等于或小于$b 时它分别返回1、0或-1
// PHP 7之前的写法:比较两个数的大小
function func ( $ a , $ b ) {
return ($a < $b) ? -1 : (($a > $b) ? 1 : 0);
}
// PHP新增的操作符 <=>
function func ( $ a , $ b ) {
return $a <=> $b;
}
6.一次捕捉多种类型的异常 / 错误
PHP 7.1 新添加了捕获多种异常/错误类型的语法——通过竖杠“|”来实现。
try {
throw new LengthException("LengthException");
// throw new DivisionByZeroError("DivisionByZeroError");
// throw new Exception("Exception");
} catch (\DivisionByZeroError | \LengthException $e) {
echo "出错消息 --- ", $e->getMessage(), PHP_EOL;
} catch (\Exception $e) {
echo "出错消息 --- ", $e->getMessage(), PHP_EOL;
} finally {
// ...
}
7.use 组合声明
use 组合声明可以减少 use 的输入冗余。
use PHPGoodTaste\Utils\{
Util,
Form,
Form\Validation,
Form\Binding
};
8. 更多的Error变为可捕获的Exception
PHP7实现了一个全局的throwable接口,原来的Exception和部分Error都实现了这个接口(interface), 以接口的方式定义了异常的继承结构。于是,PHP7中更多的Error变为可捕获的Exception返回给开发者,如果不进行捕获则为Error,如果捕获就变为一个可在程序内处理的Exception。这些可被捕获的Error通常都是不会对程序造成致命伤害的Error,例如函数不存。PHP7进一步方便开发者处理,让开发者对程序的掌控能力更强。因为在默认情况下,Error会直接导致程序中断,而PHP7则提供捕获并且处理的能力,让程序继续执行下去,为程序员提供更灵活的选择。
例如,执行一个我们不确定是否存在的函数,PHP5兼容的做法是在函数被调用之前追加的判断function_exist,而PHP7则支持捕获Exception的处理方式。
相关推荐
2. **语法变更**:PHP7引入了一些新的语法特性,例如 scalar type hints(标量类型声明)、void return type(void返回类型)等,这些在ThinkPHP3.1.3中可能已经被适配,开发者在编写代码时需要遵循这些新规则。...
"sublime集成了PHP常用插件"这个标题表明了Sublime Text针对PHP开发进行了优化,配备了丰富的插件支持,使得PHP程序员的工作效率得以提升。下面将详细探讨Sublime Text作为PHP编辑器的优势以及它所集成的常用PHP插件...
...初学者应该了解变量、数据类型(如字符串、整型...以上就是PHP常用的一些技术点,掌握它们将有助于你更好地理解和开发PHP应用。随着经验的增长,你还可以深入学习更多的高级话题,如设计模式、性能优化、并发处理等。
**PHP语言常用手册最新版**是一本全面覆盖PHP编程的权威指南,旨在为初学者和经验丰富的开发者提供必要的知识和参考资料。手册分为多个部分,详细阐述了PHP的基础、进阶特性以及安全实践,帮助用户更好地理解和应用...
根据给定的信息,我们可以整理出20个常用的PHP类库,并对其中部分类库进行详细介绍。这些类库在Web开发中十分常见,可以帮助开发者高效地完成项目。 ### 1. GD - **简介**:GD 是一个用于动态图像创建的 PHP 扩展,...
【标题】:“PHP常用技术分享” 在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,以其灵活性、易学性和丰富的库支持而受到广大开发者喜爱。这篇“PHP常用技术分享”将深入探讨PHP的一些核心技术和实用技巧,...
### 关于PHP的基本概念、特性、常用框架和应用领域的详细介绍 #### 一、基本概念 **服务器端脚本**:PHP 代码在服务器上执行,生成的 HTML 内容发送到客户端浏览器。这种方式使得服务器可以根据用户的请求动态生成...
本文将讨论PHP常用的七大框架,它们分别是ThinkPHP、Yii2、Laravel、CodeIgniter、Zend Framework、Yaf和Symfony(尽管Symfony未在提供的内容中被提及,但作为较为流行的框架,也包含在讨论范围内),并分析它们各自...
标题中的“新东方php、mysql常用的帮组文档与教案”表明了这是一份针对初学者或正在学习PHP和MySQL的人准备的教学资源。新东方作为知名的教育机构,其教材通常具有系统性和实用性,可以帮助学习者更好地理解和掌握这...
《PHP开发常用手册》是一份综合性的资源,旨在帮助开发者深入理解和熟练运用PHP语言进行Web开发。这份手册包含了多个子文件,每个子文件都聚焦于PHP开发的不同方面,旨在为初学者和经验丰富的开发者提供全面的指导。...
PHP7是PHP的第七个主要版本系列,带来了显著的性能提升和新的语言特性。PHP7.4.30是这个系列的一个特定版本,包含了多个小版本的改进和修复。"PHP漏洞"提示我们需要关注安全更新,"PHP升级包"则表明这是一个用于升级...
《PHP常用代码大全》这一资料集,为广大的PHP开发者提供了丰富的编程素材和实用的代码片段,涵盖了PHP语言的核心功能和常见应用场景,是提升开发效率、优化代码质量的宝贵资源。下面,我们将深入探讨这份资料中提及...
随着PHP的版本更新,特别是PHP7,`foreach`循环引入了一些新的特性和行为变化,这使得代码的执行更加高效且易于理解。以下是关于PHP7 `foreach`新特性的详细说明: **一、数组内部指针不再受影响** 在PHP7之前,`...
以上是PHP中常用的类和面向对象特性。理解并熟练应用这些概念,可以帮助你编写更高效、更易于维护的PHP代码。在实际开发中,还会遇到更多的类库和框架,它们基于这些基础概念构建,提供了丰富的功能和工具。
【标题】中的“最常用php类集合”指的是一个包含了多种常用PHP类的资源包,这些类可以帮助开发者更高效地处理常见的编程任务。在PHP开发中,类是对象的蓝图,可以封装数据和方法,使代码更加模块化和可重用。 ...
这个"php常用工具安装包汇总.zip"压缩包集合了多种PHP开发中常用的工具,涵盖了从编辑器、调试器到性能分析等多个方面。以下是这些工具的详细介绍: 1. **编辑器与IDE** - **PhpStorm**:JetBrains公司开发的一款...
"PHP常用函数总结表pp.xls"可能是一个详尽的函数参考,涵盖字符串处理、数组操作、文件I/O、日期与时间处理、错误处理等方面。了解这些函数对于提高PHP编程效率至关重要。 接下来,我们转向MySQL。MySQL是用于存储...
9. 面向对象编程:PHP支持面向对象特性,如类、对象、继承、封装和多态。`class`定义类,`__construct()`为构造方法,`extends`用于继承,`public`, `private`, `protected`修饰访问权限。 10. 模板引擎:为了分离...
"php常用的class类"这个主题涵盖了PHP开发中经常使用的30个类,它们可以帮助开发者在实际项目中快速构建功能丰富的应用程序。以下是一些常见的PHP类及其主要用途: 1. **Exception** - 异常处理类,用于捕获和处理...