PHP 是一种新型的 CGI 程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux 平台的Web后台程序,内置了对文件上传、密码认证、Cookies 操作、邮件收发、动态 GIF 生成等功能,PHP 直接为很多数据库提供原本的连接,包括Oracle、Sybase、Postgres、Mysql、Informix、Dbase、Solid、Access 等,完全支持ODBC接口,用户更换平台时,无需变换 PHP 代码,可即拿即用 使用方法弃用e修饰符 常见问题php 函数调用的几种方式有哪些? 更新日志Typed Properties? 类型属性 类属性现在支持类型声明,以下示例将强制 $User-> id 只能分配 int 值,而 $User-> name 只能分配 string 值。 <?phpclassUser{? ? public int $id;? ? public string $name;}?> Arrow Functions? 箭头函数 箭头函数提供了用于定义具有隐式按值作用域绑定的函数的简写语法。 <?php$factor = 10;$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);// $nums = array(10, 20, 30, 40);?> 将闭包传递给 array_map 或 array_filter 等函数时,它可以发挥极大的作用。 // A collection of Post objects $posts = [/* … */];$ids = array_map(fn($post) => $post->id, $posts); Limited Return Type Covariance and Argument Type Contravariance? 有限返回类型协变与参数类型逆变 仅当使用自动加载时,才提供完全协变/逆变支持。在单个文件中,只能使用非循环类型引用,因为所有类在被引用之前都必须可用。 <?phpclassA{}classBextendsA{}classProducer{? ? publicfunctionmethod(): A{}}classChildProducerextendsProducer{? ? publicfunctionmethod(): B{}}?> Unpacking Inside Arrays? 打包内部数组 <?php$parts = ['apple', 'pear'];$fruits = ['banana', 'orange', ...$parts, 'watermelon'];// ['banana', 'orange', 'apple', 'pear', 'watermelon'];?> Numeric Literal Separator? 数值文字分隔符 数字文字可以在数字之间包含下划线。 <?php6.674_083e-11; // float299_792_458;? ?// decimal0xCAFE_F00D;? ?// hexadecimal0b0101_1111;? ?// binary?> Weak References? 弱引用 弱引用使程序员可以保留对对象的引用,不会阻止对象被销毁。 Allow Exceptions from __toString()? 允许从 __toString() 抛出异常 现在允许从 __toString() 引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为 Error 异常。 Opcache Preloading? Opcache 预加载 新增 Opcache 预加载支持。 使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。 |