1、标量类型声明
有两种模式: 强制 (默认) 和 严格模式。 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)。2、返回值类型声明返回类型声明指明了函数返回值的类型。可用的类型与参数声明中可用的类型相同。3、null合并运算符
项目中存在大量同时使用三元表达式和 isset()的情况,新增了null合并运算符 (??) 这个语法(如果变量存在且值不为NULL, 它就会返回自身的值,否则返回第二个操作数。)
4、太空船操作符(组合比较符)太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或11; // 0echo 1 <=> 2; // -1echo 2 <=> 1; // 1// Floatsecho 1.5 <=> 1.5; // 0echo 1.5 <=> 2.5; // -1echo 2.5 <=> 1.5; // 1// Stringsecho "a" <=> "a"; // 0echo "a" <=> "b"; // -1echo "b" <=> "a"; // 1?>
5、通过define()定义常量数组
6、匿名类
现在支持通过new class 来实例化一个匿名类
logger;}public function setLogger(Logger $logger) {$this->logger = $logger;}}$app = new Application;$app->setLogger(new class implements Logger {public function log(string $msg) {echo $msg;}});var_dump($app->getLogger());?>
7、Unicode codepoint 转译语法
这接受一个以16进制形式的 Unicode codepoint,并打印出一个双引号或heredoc包围的 UTF-8 编码格式的字符串。 可以接受任何有效的 codepoint,并且开头的 0 是可以省略的。
……待续