PHP7新特性
2019-06-18 16:40:38 15 举报
AI智能生成
php7新特性的理解和比较总结
作者其他创作
大纲/内容
PHP7新特性
PHP 标量类型与返回值类型声明
强制模式 (默认)declare(strict_types=0);
严格模式declare(strict_types=1);值必须是 指定类型
PHP NULL 合并运算符(??)
旧写法$site = isset($_GET['site']) ? $_GET['site'] : '菜鸟教程';
新写法$site = $_GET['site'] ?? '菜鸟教程';
PHP 太空船运算符(组合比较符)(<=>)
1 <=> 1 等于返回0
1 <=> 2 小于返回-1
2<=> 1 大于返回1
\tPHP 常量数组
PHP 5.6 中仅能通过 const 定义常量数组
PHP 7 可以通过 define() 来定义
\tPHP 匿名类
通过 new class 来实例化一个匿名类,这可以用来替代一些\"用后即焚\"的完整类定义
\tPHP 7 use 语句
// PHP 7 之前版本需要使用多次 use use some\amespace\\ClassA; use some\amespace\\ClassB; use some\amespace\\ClassC as C;
\tPHP 7 错误处理
catch (Error $e) { ... }或注册异常处理函数( set_exception_handler())
ArithmeticError
AssertionError
DivisionByZeroError
ParseError
TypeError
catch (Exception $e) { ... }
LogicException
RuntimeException
\tPHP intdiv() 函数
\tPHP 7 Session 选项
\tPHP 7 废弃特性
不再支持 函数可以与类名同名
不再支持 以静态的方式调用非静态方法
password_hash 函数内部默认带有 salt 能力,无需开发者提供 salt 值
废弃了 \"capture_session_meta\" SSL 上下文选项
\tPHP Closure::call()
有更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数
PHP 过滤 unserialize()
PHP IntlChar()
提供了一些可用于访问Unicode字符信息的实用方法的访问. 注意:必须安装Intl扩展才能使用!
\tPHP CSPRNG
random_bytes() - 加密生成被保护的伪随机字符串
PHP 7 异常
zend.assertions
1 - 生成和执行代码 (开发模式)(默认值)
0 - 生成代码,但在执行时跳过它
-1 - 不生成代码 (生产环境)
assert.exception
1 - 断言失败时抛出,可以抛出异常对象,如果没有提供异常,则抛出 AssertionError 对象实例。
\tPHP 7 移除的扩展
ereg
mssql
mysql
sybase_ct
\tPHP 7 移除的 SAPI (PHP与其他应用交互的接口)
aolserverapacheapache_hooksapache2filtercaudiumcontinuityisapimilternsapiphttpdpi3webroxenthttpdtuxwebjames
0 条评论
下一页