[每周一更]-(第98期):PHP版本的升级历程

在这里插入图片描述

文章目录

      • 大致历程
        • PHP/FI (PHP 1.0)
        • PHP 2.0
        • PHP 3.0
        • PHP 4.0
        • PHP 5.0
        • PHP 5.3 - 5.6
        • PHP 7.0
        • PHP 7.1 - 7.4
        • PHP 8.0
        • PHP 8.1 - 8.2
      • 参考

PHP,即“超文本预处理器”(Hypertext Preprocessor),是广泛应用于web开发的服务器端脚本语言。自1995年由Rasmus Lerdorf首次发布以来,PHP经历了多次重要的版本升级,每一次升级都带来了显著的性能改进和新功能的添加。本文将详细介绍PHP从诞生到现在的主要版本升级历程。

以下是一个比较 PHP 不同版本主要特性和变化的表格:

版本发布时间主要特性和改进
PHP 1.01995年初始版本,基本的变量处理和表单处理功能
PHP 2.01997年增加数据库支持和改进的变量处理机制
PHP 3.01998年全面重写,支持更多数据库,初步支持面向对象编程
PHP 4.02000年基于Zend引擎1.0,更好的资源管理、错误处理和内存使用,多Web服务器支持
PHP 5.02004年基于Zend引擎2.0,增强面向对象编程能力,引入PDO扩展和更强的错误与异常处理
PHP 5.32009年引入命名空间、闭包、匿名函数和垃圾回收
PHP 5.42012年增加trait、短数组语法、内置Web服务器
PHP 5.52013年引入生成器、finally关键字和密码哈希API
PHP 5.62014年可变参数、常量标量表达式、默认字符编码改进
PHP 7.02015年基于PHP-NG(Next Generation)引擎,显著性能提升,标量类型声明、返回类型声明、统一变量语法
PHP 7.12016年Nullable类型、void返回类型、多维数组解构
PHP 7.22017年Libsodium加入扩展、改进加密功能、对象类型提示
PHP 7.32018年键名的灵活性、允许尾随逗号、heredoc和nowdoc语法改进
PHP 7.42019年预加载、箭头函数、typed properties、展开操作符改进
PHP 8.02020年引入JIT编译器、联合类型(Union Types)、属性(Attributes)、match表达式、nullsafe运算符
PHP 8.12021年枚举类型(Enums)、Fibers(纤程)、交集类型(Intersection Types)、只读属性(Readonly Properties)
PHP 8.22022年只读类属性(Readonly Classes)、性能提升、类型安全性改进
PHP 8.3.02023年11月23日版本迭代中;它包含了许多新功能,例如:类常量显式类型、只读属性深拷贝,以及对随机性功能的补充。一如既往,它还包括性能改进、错误修复和常规清理等

大致历程

PHP/FI (PHP 1.0)

发布时间:1995年

PHP的最初版本是PHP/FI(Personal Home Page/Forms Interpreter),由Rasmus Lerdorf开发,用于跟踪访问他在线简历的用户数量。PHP/FI包含一些基本的功能,如变量、表单处理和嵌入HTML的能力,但它主要是一个C程序的集合。

PHP 2.0

发布时间:1997年

PHP 2.0(正式名称为PHP/FI 2.0)扩展了PHP/FI的功能,加入了初步的数据库支持和改进的变量处理机制。虽然仍然相对原始,但它标志着PHP从个人项目转向公共开源项目的开始。

PHP 3.0

发布时间:1998年

PHP 3.0是PHP语言的第一个成熟版本,由Andi Gutmans和Zeev Suraski在重写PHP/FI 2.0代码基础上开发完成。PHP 3.0引入了更强大的扩展API,支持更多的数据库,并增加了面向对象编程的初步支持。这一版本显著提升了PHP的性能和灵活性,使其迅速流行起来。

PHP 4.0

发布时间:2000年

PHP 4.0是基于全新的Zend引擎1.0(由Andi Gutmans和Zeev Suraski创建)开发的。PHP 4.0引入了许多新的特性和性能改进,包括更好的资源管理、更强的错误处理和更高效的内存使用。PHP 4.0还增加了对多个Web服务器的支持和更多的扩展功能,进一步巩固了PHP在Web开发中的地位。

PHP 5.0

发布时间:2004年

PHP 5.0是PHP语言的一个重大里程碑。这个版本引入了基于Zend引擎2.0的全新对象模型,大大增强了面向对象编程的能力。PHP 5.0还引入了重要的新功能,如PHP Data Objects (PDO)扩展以改善数据库访问,以及更强的错误处理和异常处理机制。这一版本的推出标志着PHP在功能和性能上的巨大飞跃。

PHP 5.3 - 5.6

发布时间:2009年 - 2014年

PHP 5.3引入了命名空间(namespace)支持,极大地改善了代码组织和模块化能力。随后版本(5.4,5.5,5.6)继续引入了一系列改进和新特性,如匿名函数、trait、生成器(generator)以及内置Web服务器等。这些版本逐步提升了PHP的现代编程能力和性能。

PHP 7.0

发布时间:2015年

PHP 7.0是PHP语言的另一个重要里程碑,基于新的Zend引擎(称为“PHP-NG”或“Next Generation”)开发。PHP 7.0带来了显著的性能提升(通常比PHP 5.6快两倍),并引入了许多新特性,如标量类型声明、返回类型声明和统一变量语法。PHP 7.0的性能改进和新功能极大地增强了PHP在高性能Web应用程序中的应用前景。

PHP 7.1 - 7.4

发布时间:2016年 - 2019年

PHP 7.1至7.4版本继续在PHP 7.0的基础上进行改进,加入了更多的新特性和性能优化。PHP 7.1引入了nullable类型、对称多维数组解构等;PHP 7.2引入了新libargon2密码散列算法、改进了加密和解密功能;PHP 7.3和7.4则带来了更多的语法改进和性能优化,如预加载功能、箭头函数、typed properties等。

PHP 8.0

发布时间:2020年

PHP 8.0是PHP语言的一个重大版本更新,引入了新的JIT(Just-In-Time)编译器,显著提升了性能。PHP 8.0还带来了许多新的语言特性和改进,如联合类型(Union Types)、属性(Attributes)、match表达式、nullsafe运算符等。这些新特性增强了PHP的现代编程能力和灵活性。

PHP 8.1 - 8.2

发布时间:2021年 - 2022年

PHP 8.1和8.2版本继续在PHP 8.0的基础上进行改进,带来了更多的新特性和性能优化。PHP 8.1引入了枚举类型(Enums)、Fibers(纤程)、交集类型(Intersection Types)等;PHP 8.2则带来了只读类属性、提升类型安全性和更多语法改进。

参考

  • php官网
  • php历史
  • PHP-wiki
  • PHP8.3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是独特摆动交易策略?fpmarkets1分钟讲清楚

摆动交易策略想必各位投资者都已经接触过了,但是什么是独特摆动交易策略?各位投资者知道吗?其实很简单,这是一种基于斐波纳契工具的独特摆动交易策略。下面fpmarkets1分钟讲清楚,趋势总会经历调整,而这些调…

【机器学习】Python中的决策树算法探索

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Python中的决策树算法探索引言1. 决策树基础理论1.1 算法概述1.2 构建过程 2. P…

数据集003:猫类识别-12种猫分类数据集 (含数据集下载链接)

数据集简介: 训练集共有2160张猫的图片, 分为12类. train_list.txt是其标注文件 测试集共有240张猫的图片. 不含标注信息. 训练集图像(部分) 验证集图像(部分) 标签 部分代码: # 定义训练数据集 class T…

eNSP华为模拟器-DHCP配置

拓扑图 要求 PC1通过DHCP获取192.168.1.1地址PC2和PC3通过DHCP接口地址池方式获取IP地址配置静态路由使其ping通 配置 配置主机名及接口IP地址 # AR1 <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys AR1 [AR1]int g0/0/0 [AR1-Gigabit…

去重复记录和排序——kettle开发09

一、去除重复记录 去除重复记录&#xff0c;就是将数据流中的数据进行字段比较&#xff0c;从而去掉重复值的过程。去除重复记录的前提是需要将数据流中的数据进行排序&#xff0c;然后再进行去重操作。 去除重复记录的逻辑是&#xff0c;如下图&#xff0c;我们将需要比较的…

基础使用-SQL-图形化界面工具DataGrip

一、连接mysql &#xff08;1&#xff09;选择加号&#xff0c;再选择添加一个数据源&#xff08;Data Source&#xff09;&#xff0c;然后选择MySQL &#xff08;2&#xff09;接下来就需要去配置MySQL的连接信息&#xff0c;并且去下载它的驱动&#xff0c;安装驱动时可能要…

微信公众号怎么做留言板功能

在繁忙的都市生活中&#xff0c;你是否常常感到孤单、渴望有一个可以倾诉心声的地方&#xff1f;今天&#xff0c;我要为大家介绍一个特别的角落——我们公众号的留言板功能。它不仅是一个留言板&#xff0c;更是一个情感交流的平台&#xff0c;一个可以让我们彼此心灵相通的桥…

百度发布代码辅助工具,超强

不会用AI的程序员&#xff0c;会跟不会用智能手机的人一样 百度这个代码助手助手感觉还是不错的 https://comate.baidu.com/?inviteCodeijmce7dj 目前看下来这个代码助手是比较强的&#xff0c;比阿里的那个灵码好用&#xff0c;他可以引用到当前的文件&#xff0c;并且能分…

idea改了代码,但是需要紧急切换分支,需要把改动的保存到本地

但是如果有冲突&#xff0c;你没有合并&#xff0c;那也会丢哦&#xff01; 改完那个分支&#xff0c;回到这个分支然后弹出来再。

Delphi 程序例子(DPI变化自动感知及显示器相关功能演示)

目录 一、前言 二、Delphi 演示程序&#xff08;D12版本&#xff0c;用D11也都可以&#xff09; 1. 演示程序功能&#xff1a; 2. 程序界面&#xff1a; 3. 程序源代码下载&#xff08;有偿&#xff09;&#xff1a; 一、前言 系列文章&#xff1a; 彻底搞懂 Windows 显示…

YOLOv5 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 轻量级卷积神经网络由于其低计算预算限制了CNNs的深度&#xff08;卷积层数&#xff09;和宽度&#xff08;通道数&#xff09;&#xff0c;…

三分钟一条AI小和尚视频 ,日引300+创业粉。单日变现四位数 全套工具

经过六个月的不懈努力和无数次的尝试错误&#xff0c;我终于找到了一个高效引流和积累粉丝的新策略&#xff0c;并愿意与大家无私分享。这一次&#xff0c;我将详尽地介绍这个方法&#xff0c;建议朋友们多次观看以彻底掌握其精髓。 简而言之&#xff0c;该策略主要依托于AI绘…

C语言文件编程

C语言文件编程 第一部分 基本概念 1、Linux文件类型 1.-普通文件&#xff1a;存在于外部存储器中&#xff0c;用于存储普通数据。 1.txt 1.c 1.mp3 1.mp4 2.d目录文件&#xff1a;用于存放目录项&#xff0c;是文件系统管理的重要文件类型。 文件夹 3.p管道文件&#x…

基于springboot+vue的“漫画之家”系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

全新交友盲盒+付费进群二合一源码 包含全套源码+教程

盲盒交友脱单系统源码&#xff0c;带教程&#xff0c;免授权这套源码已经替你们搭建测试过了 附带进群系统&#xff0c;定位是正常的 申明需要无限回调&#xff0c;没有回调的搭建出来不能用不要说源码不能用 全新系统方便大家使用&#xff0c;已经录制好详细的教程&#xf…

【Linux】-Spark分布式内存计算集群部署[20]

注意&#xff1a; 本节的操作&#xff0c;需要前置准备好Hadoop生态集群&#xff0c;请先部署好Hadoop环境 简介 Spark是一款分布式内存计算引擎&#xff0c;可以支持海量数据的分布式计算。 Spark在大数据体系是明星产品&#xff0c;作为最新一代的综合计算引擎&#xff0c…

闲话 .NET(6):.NET Core 各个版本的特性

前言 之前我们聊了一下 .NET Core 有哪些优势&#xff0c;.NET Core 发展非常迅速&#xff0c;不过短短几年&#xff0c;.NET Core 已经发布 .NET 8 了&#xff0c;基本上保持了一年一个版本的速度&#xff0c;每个版本都有自己的独有特性&#xff0c;下面我们来简单的盘点一下…

【一篇文章搞定电脑重装,简单易懂,速来学习!】

大家好&#xff01;今天给大家带来一篇非常实用的文章——电脑系统重装教程。不管你是电脑小白还是有一定基础的用户&#xff0c;这个教程都能满足你的需求。我们将从前期准备到具体的重装步骤&#xff0c;一步步教你如何重装电脑系统。 教程 介绍 [教程名称]&#xff1a;u盘…

AIGC行业的发展前景与市场需求

简介&#xff1a;探讨当前时机是否适合进入AIGC行业&#xff0c;考虑行业发展阶段和市场需求。 方向一&#xff1a;行业前景 AIGC&#xff08;人工智能生成内容&#xff09;行业是近年来随着人工智能技术的快速发展而兴起的一个新兴领域&#xff0c;它涉及到使用人工智能技术来…

可视化大屏开发,知道了这些经验以及解决方案,效率至少提升2倍!(完结篇)

大家好&#xff0c;我是日拱一卒的攻城师不浪&#xff0c;专注可视化、数字孪生、前端、nodejs、AI学习、GIS等学习沉淀&#xff0c;这是2024年输出的第16/100篇文章&#xff1b; 前言 之前写了两篇可视化大屏开发的经验总结&#xff0c;小伙伴们反应还不错。 最近&#xff0…