首页 » Web前端 » php70体验技巧_PHP70 的新特点

php70体验技巧_PHP70 的新特点

访客 2024-11-28 0

扫一扫用手机浏览

文章目录 [+]
小编

PHP7.0 的新特性常常会被口试官问到,在平时的项目开拓中利用它们也会提升一定的代码质量和代码运行性能,可见这个知识点的主要性。
不过有很多人都没有去系统的理解节制,本日我刚好系统整理了一番分享出来。

图片版

php70体验技巧_PHP70 的新特点

笔墨版

1. 新增了标量类型声明和函数的返回值类型声明例如: <?php declare(strict_types=1)//1:严格模式 0:逼迫模式(默认) class OrderService extends BaseService{ ... / 所有订单详情都是通过这个入口 @param $orderNo @return array|mixed @throws Exception / public function getOrderDetailByOrderNo(string $orderNo) : array { $order = $this->model->getByFields(['order_no' => $orderNo]); if (empty($order)) { return []; } return (new OrderFactory)->getOrder($order['order_type'])->getOrderDetailByOrderNo($orderNo); }}2. 太空船运算符(组合比较符):<=> 例如:$c = $a <=> $b 若 $a>$b,则 $c=1 若 $a=$b,则 $c=0 若 $a<$b,则 $c=-13. NULL合并运算:?? PHP7 之前:$c = isset($b)?$b:0; PHP7+ :$c = $b??0;4. 定义常量数组:define("ARR",[1,2,3])5. 新增抽象语法树AST(高度解耦) PHP7 之前:PHP 代码 -> Parser 语法解析 -> OPCODE -> 实行 PHP7+ :PHP 代码 -> Parser 语法解析 -> AST -> OPCODE -> 实行6. 命名空间引用优化 PHP7 之前: use FooLibrary\Bar\Baz\ClassA; use FooLibrary\Bar\Baz\ClassB; PHP7+: use FooLibrary\Bar\Baz\{ ClassA, ClassB};7. 反序列化函数Unserialize()供应更安全的过滤特性8. 新增整除函数intdiv() 例如:intdiv(10,3) 结果:39. 缺点处理更友好 在PHP7+ 中,很多致命缺点以及可规复的致命缺点,都被转换为非常来处理了。
这些非常继续自 Error 类,此类实现了 Throwable 接口 (所有非常都实现了这个根本接口) PHP7+ 进一步方便开拓者处理, 让开发者对程序的掌控能力更强。
由于在默认情形下, Error会直接导致程序中断, 而PHP7+ 则供应捕获并且处理的能力, 让程序连续实行下去, 为程序员供应更灵巧的选择10. 新增匿名类 通过 new class 来实例化一个匿名类,可以用来替代一些"用后即焚"的完全类定义 例如: <?phpinterface Logger {    public function log(string $msg); } class Application {    private $logger;    public function getLogger(): Logger {       return $this->logger;    }    public function setLogger(Logger $logger) {       $this->logger = $logger;    }   } $app = new Application;// 利用 new class 创建匿名类 $app->setLogger(new class implements Logger {    public function log(string $msg) {       print($msg);    }}); $app->getLogger()->log("我的第一条日志"); 结果:我的第一条日志11. 新增两个更安全的伪随机天生器函数random_bytes()和random_int()12. Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的工具实例并调用实行该函数 例如: <?phpclass A {     private $x = 1; } // PHP 7 之前版本定义闭包函数代码 $getXCB = function() {     return $this->x; }; // 闭包函数绑定到类 A 上 $getX = $getXCB->bindTo(new A, 'A');  echo $getX(); // PHP 7+ 代码 $getX = function() {     return $this->x; }; echo $getX->call(new A);13. 移除扩展:ereg、mssql、mysql

php70体验技巧_PHP70 的新特点
(图片来自网络侵删)
标签:

相关文章

介绍百度码,技术革新背后的智慧之光

随着科技的飞速发展,互联网技术已经成为我们生活中不可或缺的一部分。而在这个信息爆炸的时代,如何快速、准确地获取信息,成为了人们关注...

Web前端 2025-01-03 阅读1 评论0

介绍皮箱密码,开启神秘之门的钥匙

皮箱,作为日常生活中常见的收纳工具,承载着我们的珍贵物品。面对紧闭的皮箱,许多人却束手无策。如何才能轻松打开皮箱呢?本文将为您揭秘...

Web前端 2025-01-03 阅读1 评论0

介绍盗号器,网络安全的隐忧与应对步骤

随着互联网的快速发展,网络安全问题日益突出。盗号器作为一种非法工具,对网民的个人信息安全构成了严重威胁。本文将深入剖析盗号器的原理...

Web前端 2025-01-03 阅读1 评论0