PHP7中的部分特性用法小结

本篇文章PHP7教程栏目给大家介绍一下PHP7的一些特性用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP7的一些特性用法

1.use的用法

<?PHP

//  PHP 7 之前版本用法
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// PHP 7+ 用法
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
?>

2.序列号函数unserialize的新增了过滤功能

// 转换对象为 __PHP_Incomplete_Class 对象
$data = unserialize($foo, [allowed_classes => false]);

// 转换对象为 __PHP_Incomplete_Class 对象,除了 MyClass 和 MyClass2
$data = unserialize($foo, [allowed_classes => [MyClass, MyClass2]);

// 认接受所有类
$data = unserialize($foo, [allowed_classes => true]);

3.通过define定义常量数组

<?PHP
define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

  echo ANIMALS[1]; // 输出 cat
  define(GREETING,Hello you! How are you today?,TRUE); 
  echo constant(greeting); //返回常量的值


?>

4.三目运算符null合并

<?PHP
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...