1.文档阅读 PHP 7 新特性 - 收集_穿素白衫的少年的博客-CSDN博客 PHP 8 - 学习/实践_穿素白衫的少年的博客-CSDN博客 PHP: PHP 手册 - Manual -- 官方文档 权威的5.6、7.0、7.1、7.2、7.3和7.4 PHP基准(2020) - WP建站 -- 不同版本之间的性能基准测试 php版本之间的区别-PHP7-PHP中文网 2.整理输出 Note: 目前最常用版本为: PHP 5.6 PHP 7.x PHP 8.x 5.6、7.0、7.1、7.2、7.3、7.4。 其实,有时候大概知道,使用的版本有哪些特性,以及该版本之后的版本有哪些新特性即可 在实际开发时,做好程序测试即可,开发,测试,生产环境一定要保持一致。 2.1 PHP 5.2、5.3、5.4、5.5、5.6 版本区别对比以及新功能详解 PHP5.2之前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const , 三元运算符,Phar PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改 PHP5.5:yield, list() 用于 foreach , 细节修改 PHP5.6: 常量增强,可变函数参数,命名空间增强 2.2 指定版本的变化 PHP 5.3 PHP5.3算是一个非常大的更新,新增了大量新特征,同时也做了一些不向下兼容的修改: 1、匿名函数 $func = function ( $arg ){ echo $arg ; } $func ( 'hello' ); 2、新增了魔术方法 __invoke(),__callStatic(); 随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke(). 该魔术方法会在将一个对象作为函数调用时被调用: class A { public function __invoke($str) { print "A::__invoke(): {$str}"; } } $a = new A; $a("Hello World"); 输出毫无疑问是: A::__invoke(): Hello World __callStatic() 则会在调用一个不存在的静态方法时被调用。 3、命名空间 <?php // 命名空间的分隔符是反斜杠,该声明语句必须在文件第一行。 // 命名空间中可以包含任意代码,但只有 **类, 函数, 常量** 受命名空间影响。 namespace XXOO\Test; // 该类的完整限定名是 \XXOO\Test\A , 其中第一个反斜杠表示全局命名空间。 class A{} // 你还可以在已经文件中定义第二个命名空间,接下来的代码将都位于 \Other\Test2 . namespace Other\Test2; // 实例化来自其他命名空间的对象: $a = new \XXOO\Test\A; class B{} // 你还可以用花括号定义第三个命名空间 namespace Other { // 实例化来自子命名空间的对象: $b = new Test2\B; // 导入来自其他命名空间的名称,并重命名, // 注意只能导入类,不能用于函数和常量。 use \XXOO\Test\A as ClassA } PHP 7 PHP 7 新特性 - 收集_穿素白衫的少年的博客-CSDN博客 PHP 8 PHP 8 - 学习/实践_穿素白衫的少年的博客-CSDN博客 后续补充 ... |