php7的新特性

1.支持标量类型声明
  • 四种标量类型:
    boolean (布尔型)
    integer (整型)
    float (浮点型, 也称作 double)
    string (字符串)
  • 例(参数声明):
function test(string $a, int $b) {
    //do something
}
  • 例(返回值申明):
function returnTest() : array
{
	return [];
}
  • 例 (增加返回值 void)
function returnTest() : void
{
    //something
}
null合并运算符
  • 类似于三元运算符;如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。
$username = $_GET['user'] ?? 'nobody';
//等价于下面
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
太空船操作符(组合比较符)
  • 支持整数、浮点数、字符串
// 整数
echo 1 <=> 1; // 0 当左边等于右边的时候,返回0
echo 1 <=> 2; // -1  当左边小于右边,返回-1
echo 2 <=> 1; // 1  当左边大于右边,返回1

// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
define 定义数组
  • 之前版本不可定义数组
define('NAME', [
    'jerry',
    'tom',
    'spike'
]);

echo ANIMALS[1]; // 输出 "jerry"
use方法 批量导入
  • 导入模型下的ClassA,ClassB, ClassC。
use App\Model\{ClassA, ClassB, ClassC as C};
多异常捕获处理
try {
    // some code
} catch (FirstException | SecondException $e) {
    // handle first and second exceptions
} catch (\Exception $e) {
    // some code
}
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 脚本的开销。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值