PHPer更新技能之版本7新功能

作者: 乘风御上者 分类: PHP 发布时间: 2020-04-30 23:34

当前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官网查阅。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复