PHPer更新技能之版本7新功能
当前php版本已经升级到7.4.x, 任何新项目都应该选择使用7版本。对于天天搬砖的老phper来说,习惯了以前的五代手法,很难改正使用新语法。但是时代在变,版本号在变,总不能对小弟写的骚语法而震惊到吧!所以学习下好用的新特性是非常有必要的。
1、?? 双问号(NULL 合并运算符)
// 很长的一段时间我用它代替三元运算符,其实很多地方是错误的
// 只有当 $data 不存在或者值为NULL才会返回 默认值
// 注意:当 $data 的值为 false时,$val 的值是 $data
$val = $data ?? '默认值';
2、定义常量数组
// 同 const的效果一致
define('SITES', [
'Google',
'Runoob',
'Taobao'
]);
3、匿名类
// 使用方式与匿名函数类似
function func($ns){
echo $ns->seay();
}
// 感觉让代码很混乱,用处不大
func(new class{
public function seay(){
return '直接作为参数传递';
}
});
4、伪随机数产生器
// 1、返回指定长度的随机字节
// 返回的字节在php中打印是乱码
$bytes = random_bytes(int $length)
// 将字节转换成十六进制
bin2hex($bytes)
// 2、返回指定整数范围的一个随机数
// 参数最小与最大必须在PHP_INT_MIN与PHP_INT_MAX之间
random_int(int $min, int $max)
5、use 语句
// 之前版本引入命名空间
use namespace\ClassA;
use namespace\ClassB;
use namespace\ClassC;
// 现在可以使用一个use
use namespace\{ClassA, ClassB, ClassC};
// 对Linux中的Shell语法了解的话,对以上用法一定不陌生
这里只罗列出比较常用的语法,更多更详细的特性可以去php官网查阅。