PHP7带来的优点
是的,性能上的大幅度提拔,能够省机械,能够省钱。 (引荐进修:PHP视频教程)
PHP7带来的新东西
1.范例的声明。
能够运用字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool),来声明函数的参数范例与函数返回值。
declare(strict_types=1); function add(int $a, int $b): int { return $a+$b; } echo add(1, 2); echo add(1.5, 2.6);
php5是没法实行上面代码的,php7实行的时刻会先输出一个3和一个报错( Argument 1 passed to add() must be of the type integer, float given);
标量范例声明 有两种形式: 强迫 (默许) 和 严厉形式。
declare(strict_types=1),必需放在文件的第一行实行代码,当前文件有用!
2.set_exception_handler() 不再保证收到的一定是 Exception 对象
在 PHP 7 中,许多致命毛病以及可恢复的致命毛病,都被转换为非常来处置惩罚了。 这些非常继承自 Error 类,此类完成了 Throwable 接口 (一切非常都完成了这个基本接口)。
PHP7进一步轻易开发者处置惩罚, 让开发者对顺序的掌控才能更强. 由于在默许情况下, Error会直接致使顺序中断, 而PHP7则供应捕捉而且处置惩罚的才能, 让顺序继承实行下去, 为顺序员供应更天真的挑选。
3.新增操作符“<=>”
语法:$c = $a <=> $b
假如$a > $b, $c 的值为1
假如$a == $b, $c 的值为0
假如$a < $b, $c 的值为-1
4.新增操作符“??”
假如变量存在且值不为NULL, 它就会返回本身的值,不然返回它的第二个操作数。
//原写法 $username = isset($_GET['user]) ? $_GET['user] : 'nobody'; //如今 $username = $_GET['user'] ?? 'nobody';
5.define() 定义常量数组
define('ARR',['a','b']); echo ARR[1];// a
6.AST: Abstract Syntax Tree, 笼统语法树
AST在PHP编译历程作为一个中间件的角色, 替代本来直接从诠释器吐出opcode的体式格局, 让诠释器(parser)和编译器(compliler)解耦, 能够削减一些Hack代码, 同时, 让完成更轻易明白和可保护.
PHP5 : PHP代码 -> Parser语法剖析 -> OPCODE -> 实行
PHP7 : PHP代码 -> Parser语法剖析 -> AST -> OPCODE -> 实行
7.匿名函数
$anonymous_func = function(){return 'function';}; echo $anonymous_func(); // 输出function
8.Unicode字符花样支撑(echo “\u{9999}”)
9.Unserialize 供应过滤特征
防备不法数据举行代码注入,供应了更平安的反序列化数据。
10.定名空间援用优化
// PHP7之前语法的写法 use FooLibrary\Bar\Baz\ClassA; use FooLibrary\Bar\Baz\ClassB; // PHP7新语法写法 use FooLibrary\Bar\Baz\{ ClassA, ClassB};
以上就是php有必要升级吗的细致内容,更多请关注ki4网别的相干文章!