PHP - 各版本对比 - 整理

news/2024/12/4 3:38:48/

1.应用场景

主要用于对比PHP各版本新特性。

2.学习/操作

 

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博客

后续补充

...

3.问题/补充

TBD

4.参考

参见上面文档列表

后续补充

...


http://www.ppmy.cn/news/681405.html

相关文章

PHP安装配置(Windows和Linux)-一篇就够了

文章目录 PHPWindows1.下载2.解压缩3.配置4.php.ini文件5.测试配置&#xff08;此步可跳过&#xff09;6.测试PHP代码 Linux1.下载和解压2.安装3.php.ini4.配置Apache5.启动服务6.测试 PHP PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是在服务器端执行的脚…

【PHP】Windows下最直接最简单查看PHP版本的方法

通过.php查看PHP版本的常用方法&#xff1a; <?phpecho phpinfo(); ?> <?phpecho PHP_VERSION; ?> <?phpecho phpversion(); ?> 通过命令行查看PHP版本的方法&#xff1a; php -version 但在Windows下往往忽视了一种最直接最简单查看PHP版本的方法

windows下php的版本如何选择?

前言&#xff1a; 在windows 在开发PHP&#xff0c;其实还是占绝大数的&#xff0c;因为其方便、快速&#xff0c;且成本更低&#xff0c;而且由于windows上面的其他与php开发相关的软件更多&#xff0c;所以&#xff0c;我们也基本是在windows在开发好&#xff0c;再更新到线上…

PHP最新版本及比较

php8 PHP8&#xff0c;新的主要PHP版本&#xff0c;预计将在2020年12月3日发布。 PHP 5.6 2018年12月&#xff0c;对PHP5.6的社区支持结束 php7 2015年6月11日&#xff0c;正式公开发布PHP7第一版的alpha版本。2022年11月28结束支持 为什么么开发团队应该将 PHP 5.6 升级到…

Linux系统下安装PHP7 以上版本 包含全配置

请先安装依赖包 yum install -y gcc gcc-c make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-de…

TiDB 多租户方案和原理

作者&#xff1a; li_zhenhuan 原文来源&#xff1a; https://tidb.net/blog/a55c1d14 使用多租户 有很多文章介绍技术上如何使用多租户&#xff0c;在这里简单说明&#xff1a; CREATE RESOURCE GROUP rg_oltp RU_PER_SEC4000; ALTER USER app1 RESOURCE GROUP "r…

java 自带的定时器的使用

1、在启动类上加上EnableScheduling 即在这个包下&#xff1a;org.springframework.scheduling.annotation.EnableScheduling 2、将设定为任务的类定义为Component 3、将设定为任务的类的方法上加上Scheduled 2/3的代码如下&#xff1a; Component public class TestTask {/…

硬盘超强修复工具diskgenius(分区无法识别)

案例1&#xff1a; 硬盘在BIOS检测时可以识别&#xff0c;进入windows磁盘管理器中无法发现硬盘&#xff0c;也找不到原分区。 解决办法&#xff0c;使用U盘启动&#xff08;建议到网上下载一个U盘启动工具&#xff0c;含PE系统的&#xff09;&#xff0c; 1、打开系统内置的di…