1.支持标量类型声明
- 四种标量类型:
boolean (布尔型)
integer (整型)
float (浮点型, 也称作 double)
string (字符串) - 例(参数声明):
function test(string $a, int $b) {
}
function returnTest() : array
{
return [];
}
function returnTest() : void
{
}
null合并运算符
- 类似于三元运算符;如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。
$username = $_GET['user'] ?? 'nobody';
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
太空船操作符(组合比较符)
echo 1 <=> 1;
echo 1 <=> 2;
echo 2 <=> 1;
echo "a" <=> "a";
echo "a" <=> "b";
echo "b" <=> "a";
define 定义数组
define('NAME', [
'jerry',
'tom',
'spike'
]);
echo ANIMALS[1];
use方法 批量导入
- 导入模型下的ClassA,ClassB, ClassC。
use App\Model\{ClassA, ClassB, ClassC as C};
多异常捕获处理
try {
} catch (FirstException | SecondException $e) {
} catch (\Exception $e) {
}
Unicode codepoint 转译语法
- 这接受一个以16进制形式的 Unicode codepoint,并打印出一个双引号或heredoc包围的 UTF-8 编码格式的字符串。 可以接受任何有效的 codepoint,并且开头的 0 是可以省略的。
echo "\u{4e00}";
echo "\u{9fa5}";
性能提升
- php7 OPcache (提升1倍左右)
- Opcache的工作原理 ?
PHP是解释型语言,Zend引擎会将PHP代码解释为可执行机器码(Operate Code)之后再交由CPU执行。 OPcache [1] 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。