多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
- <=> 太空船操作符 ``` 比较两个表达式的大小。 $z = $x <=> $y; 当$x < $y时 则返回 -1 当$x = $y时 则返回 0 当$x > $y时 则返回 1 ``` - 类型声明 declare(strict_types = 1); 开启严格模式 ``` strict_types = 1 1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。 可使用的类型参数:int,float,bool,string,interfaces,array,callable ``` - null合并操作符 ?? ``` $z = isset($x) ? $x : $y; 等同于 $z = $x ?? $y ``` - 常量数组 define('ARR_NAME', $arr) - NameSpace 批量导入 use Space\{ ClassA, ClassB, ClassC } - throwable 接口 (error能够捕捉) > PHP 7 改变了大多数错误的报告方式。不同于 PHP 5 的传统错误报告机制,现在大多数错误被作为**Error**异常抛出。 这种 Error 异常可以像普通异常一样被 try / catch 块所捕获。如果没有匹配的 try / catch 块, 则调用异常处理函数(由 set\_exception\_handler() 注册)进行处理。 如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误(Fatal Error)。 Error 类并不是从 Exception 类 扩展出来的,所以用 catch (Exception $e) { ... } 这样的代码是捕获不 到 Error 的。你可以用 catch (Error $e) { ... } 这样的代码,或者通过注册异常处理函数( set\_exception\_handler())来捕获 Error。 ![](https://img.kancloud.cn/01/df/01df0170737bc98042eec0d8e95e643c_544x142.jpg) - intdiv(10, 3) ``` 接收两个参数,返回值为第一个参数除于第二个参数的值并取整 intdiv(10, 3) 等于 3 ``` - list ``` $arr = [1,2,3] list($a, $b, $c) = $arr; // 或者 [$a, $b, $c] = $arr; ``` - Closure::call() - 抽象语法书(AST)