PHP 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
PHP 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
PHP 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 PHP License
开发语言 PHP 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具PHP开发工具
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-09-13

软件简介

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。

PHP 最早由 Rasmus Lerdorf 在1995年发明,现在PHP实质上的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不相容。

PHP 目前被广泛的应用,特别是在服务器端的网页程式开发。一般来说 PHP 大多执行在网页服务器上,透过执行PHP程式码来产生使用者浏览的网页。PHP 几乎可以在任何的操作系统上执行,而且使用 PHP 完全是免费的。根据2007年4月的统计资料,PHP 已经被安装在超过2000万个网站和100万台服务器上。

PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程式集,来取代原先使用的 Perl 程式。最初这些工具程式用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程式和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程式。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程式开发与寻找错误。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程式语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。

在1997年,任职于 Technion IIT 公司的两个以色列程式设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.。 经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写 PHP 的核心,这个在1999年释出的剖析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。

在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函式库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。

2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes和Safe mode的功能。

PHP 7 于2015年12月3号正式发布,PHP7 最让人关注的无非是其性能,据官方说明 PHP 7 的性能是 PHP 5.6 的两倍。

php5与php7之间的区别:

1、性能提升:PHP7比PHP5.0性能提升了两倍。
2、以前的许多致命错误,现在改成抛出异常。
3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。
4、PHP 7.0比PHP5.0新增了空接合操作符。
5、PHP 7.0比PHP5.0新增加了结合比较运算符。
6、PHP 7.0比PHP5.0新增加了函数的返回类型声明。
7、PHP 7.0比PHP5.0新增加了标量类型声明。
8、PHP 7.0比PHP5.0新增加匿名类。
9、错误处理和64位支持

如果您了解错误和异常之间的区别,那么您就会知道在PHP 5中处理致命错误非常不容易。PHP7简化了流程,因为它已用可以轻松处理的异常替换了几个主要错误。这是通过引入新的引擎异常对象实现的。

您可能已经知道,PHP 5不支持64位整数或大文件,但PHP 7中的情况已发生变化。PHP7具有64位支持,因此您也可以使用本机64位整数作为大文件,因此,您可以在64位系统体系结构上完美运行应用程序。

10、声明返回类型

在PHP 5中,程序员无法定义函数或方法的返回类型。在现实生活中,这是一个巨大的缺点,因为程序员无法防止意外的返回类型并在其他情况下生成异常。

幸运的是,PHP 7允许程序员根据期望的返回值声明函数的返回类型。这肯定会使代码健壮和准确。有四种不同的返回类型可用-bool,int,string和float。

为什么 PHP7 比 PHP5 性能提升了?

1、变量存储字节减小,减少内存占用,提升变量操作速度
2、改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存占用、提升了 cpu 缓存命中率
3、改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率

PHP8于2020年11月26日正式发布,除重大更改外,PHP 8还带来了一些不错的新功能,比如说 JIT编译器, 联合类型, 属性,以及更多。

比较受人关注的特性有:

1、JIT编译器
JIT的新特性,则是将PHP代码转化为传统的机器码,而并非通过zend虚拟机来运行,这大大增加了运行速度。但是缺点是向下不兼容。
2、注解
PHP8之前PHP实现注解可以通过php-parser来实现,但现在可以直接通过Reflection 来获取。
3、类中的成员变量
在PHP8之前,我们一般会这样定义一个类,首先要设置成员变量,然后在构造或者某一个方法为它赋值。
4、命名参数
方法传参需要默认值时会更灵活
5、联合类型
在PHP8中你可以使用多种预测类型

 

PHP 的发明人 Rasmus Lerdorf

[以上内容主要来自维基百科:http://zh.wikipedia.org/w/index.php?title=PHP&variant=zh-cn]

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(61)
发表了资讯
05/13 07:24

PHP 8.1.6 发布

PHP 8.1.6 现已发布,这是一个错误修复版本;官方鼓励所有 PHP 8.1 用户升级到此版本。具体更新内容如下: Core: 修复了错误#8310(不再识别注册表设置)。 修复了资源 ID 分配期间的潜在 race condition。 修复了错误#8133(预加载包含枚举数组的常量时出现故障)。 修复 Haiku ZTS 构建。 Date: 修复了错误#7752(DateTimeZone::getTransitions() 返回的数据不足)。 修复了错误#8108(时区无法按预期工作)。 修复了错误#...

11
0
发表了资讯
05/10 08:12

PHP 8.2 弃用通过 ${} 在字符串插入变量语法

PHP 社区 4 月底通过了一项只有一张反对票的提案,提案内容是在即将发布的 PHP 8.2 中,不再支持使用 ${} 在字符串中插入变量的语法(标记为弃用状态),并在 PHP 9 删除该语法。 目前 PHP 可通过以下方式在带有双引号 (")和 heredoc 的字符串中插入变量。 直接插入变量:“$foo” 在变量外添加花括号:“{$foo}” 在 $ 符号后面添加花括号:“${foo}” 定义可变的变量语法 (“${expr}”,等同于(string) ${expr} 提交该提案的开...

28
1
发表了资讯
05/03 10:31

PHP 基金会四月新闻公告发布

从一个月前开始,PHP基金会开始聘请PHP核心开发人员,这是基金会2022年的主要目标。 在众多的赞助者的支持下,六个有才华的人已经工作了整整一个月,他们分别是:Derick Rethans, Arnaud Le Blanc, George Peter Banyard, Jakub Zelenka, and Máté Kocsis, Ilija Tovilo ,其中Ilija Tovilo 在更早之前就开始为PHP核心开发工作了。 你可以在PHP基金会的财务情况中看到,基金会已经支付了第一批的薪水,并且以后会定期发放薪水...

12
4
发表了资讯
04/16 07:43

PHP 8.1.5 发布

PHP 8.1.5 现已发布,这是一个错误修复版本;官方鼓励所有 PHP 8.1 用户升级到此版本。具体更新内容如下: Core 修复了错误#8176(属性初始化程序中的枚举值泄漏)。 修复了内部属性参数的释放问题。 修复了错误#8070(内部函数属性哈希的内存泄漏)。 修复了错误#8160(Alpine 上的 ZTS 支持已损坏)。 Filter: 修复了 php_filter_validate_domain() 中的 signedness confusion。 Intl: 修复了错误#8115(实例化 Intl 类时无...

10
1
发表了资讯
04/12 16:10

鸟哥:关于 PHP,关于 Realsee

时隔将近两年,鸟哥的个人博客罕见地发布了更新:《关于PHP,关于Realsee》。在这篇文章中,鸟哥介绍了自己目前的主要工作,以及甚少参与 PHP 开源的原因。 全文转载如下: 从PHP8.0之后,我参与PHP开源就少了,从而博客也写的少了,不少朋友来问,所以觉得有必要用一篇文章说明下近况。 总的来说,本职工作发生了一些变化,导致工作上的事情,牵扯了太多的精力,从而没有办法有太多的精力投入PHP开源工作中。 而关于,工作的变...

26
5
发表了资讯
04/01 18:11

PHP 基金会三月新闻公告发布

PHP基金会曾经承诺每月都将发布更新基金会的动态,但是发生了一些事导致除了一些问题(后面小编会说明),2月份的新闻没有按时发布。这篇文章将让您了解自1月以来PHP基金会所做的一切。 PHP 基础核心开发人员 PHP基金会 2022 年的主要目标之一是寻找并雇佣开发人员来开发核心。 目前找到了第一批赞助开发者团队! Arnaud Le Blanc @arnaud-lb Derick Rethans @derickr George Peter Banyard @Girgias Ilija Tovilo @iluuu1994 J...

9
0
发表了资讯
03/21 07:02

PHP 8.1.4 发布

PHP 8.1.4 现已发布,这是一个错误修复版本;官方鼓励所有 PHP 8.1 用户升级到此版本。具体更新内容如下: Core: 修复 Haiku ZTS 构建。 修复了错误#8059 未为扩展重新生成 arginfo。 修复了错误#8083 使用静态变量转储未调用的假闭包时的 Segfault。 修复了错误#7958(嵌套的 CallbackFilterIterator 泄漏内存)。 修复了错误#8074(range() result 的错误类型推断)。 修复了错误#8140(Wrong first class 可按名称优化调用)...

2
0
发表了资讯
03/06 09:02

坚守中立立场!PHP 社区拒绝在俄乌冲突中“站队”

几天前,PHP 社区邮件讨论列表出现了一封“申请援助乌克兰”的邮件,该邮件由非 PHP 开发者发起,目的在于呼吁 PHP 社区火速参与俄乌冲突... 邮件机翻译文如下: 有意思的是,非 PHP 贡献者非常肯定这个想法: 甚至还有“乌克兰群众”提出了一个折中的方法:把 PHP 的 LOGO 换成乌克兰配色 ( ??) 但真正的 PHP 贡献者都认为这个建议非常危险,PHP 作为一个影响力深远的开源项目,应当坚持自己的中立立场,不参与任何形式的站队...

61
6
发表了资讯
02/24 09:57

PHP 基金会年预算已达 300 万元

PHP 基金会是一个非营利组织,其使命是确保 PHP 语言的存续和繁荣。目前 PHP 基金会已上线运营 4 个月,年度预算已达到 300 万元,成为 opencollective 平台中第八名热度的项目。 PHP 基金会在2021年11月23日上线运营,目前预算已有 $411,184.29 ,换算人民币 260 万元,年度预算达到$488,021.00,算换人民币 300 万元。 2022 年间,PHP 基金会会将所得捐款收益资助给PHP的兼职/全职核心开发者。目前最大的捐献者为:JetBrains...

18
4
发表了资讯
02/23 07:03

PHP 8.1.3 发布

PHP 8.1.3 现已发布,这是一个安全版本;官方鼓励所有 PHP 8.1 用户升级到此版本。具体更新内容如下: Core: 修复了 bug #81430(属性实例化留下悬空指针)。 修复了 bug #7896(环境变量可能在 Windows 上被破坏)。 修复了 bug #7883(INI 文件不可读时的 Segfault)。 FFI: 修复了 bug #7867(FFI::cast() 从指针到数组的操作被破坏)。 Filter: 修复 #81708:由于 php_filter_float() 导致整数失败的 UAF。(CVE-2021-217...

8
1
发表了资讯
02/10 08:04

TIOBE 2 月榜单:PHP 重返前十,Objective-C 重返 TOP20

TIOBE 公布了 2022 年 2 月的编程语言排行榜。 从 5 月 1 日起,Alexa 网站流量排名引擎将停止其服务。一直以来,Alexa 都被用来为 TIOBE 指数选择搜索引擎。鉴于此,TIOBE CEO Paul Jansen 表示,其决定选择 Similarweb 作为 Alexa 的替代品。 “这个月我们第一次使用 Similarweb 来选择搜索引擎,幸运的是在发生此变更后,指数也没有大的变化。唯一引人注目的区别是,排名前 3 位的语言 Python、C 和 Java 在排名上都获得了 ...

22
2
发表了资讯
2021/12/19 07:33

PHP 8.1.1 发布

PHP 8.1.1 现已发布,这是一个错误修复版本;官方鼓励所有 PHP 8.1 用户升级到此版本。具体更新内容如下: IMAP: 修复了 bug #81649(imap_(un)delete 接受序列,而不是单一数字)。 PCRE: 将捆绑的 PCRE2 更新到 10.39。 修复了 bug #74604(php_pcre_replace_impl 中的越界)。 Standard: 修复了 bug #81659(stream_get_contents() 可能会不必要地过度分配)。 有关 PHP 8.1.1 的源码下载,可访问下载页面,Windows 源码和...

5
0
2021/12/07 06:28

TIOBE 12 月榜单:PHP 跌出前十,C# 或将成年度语言

TIOBE 公布了 2021 年 12 月的编程语言排行榜。 TIOBE 年度最佳编程语言将于下月宣布,这个奖项的所有者将是 2021 年排名率增长最高的编程语言。TIOBE CEO Paul Jansen 称,就目前的情况来看,C# 将是这一称号的最有力候选人。然而值得一提的是,自 C# 诞生以来的 21 年中,该语言从未获得过一次"TIOBE 指数年度编程语言奖";尽管它一直位列 TOP10 榜单。 本月 TIOBE 指数中还有一些有趣的变动是:Swift 从第 14 位上升到了第 ...

58
3
2021/11/30 08:22

PHP 8.1 性能基准测试

PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。 此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有受测试的版本都是在同一个系统上用相同的软件包和相同的构建选项重新构建的。用于参考对比的版本包括:PHP 8.1、PHP 8.0.13、PHP 7.4.26、PHP 7.3.33、PHP 7.0.33 和 PHP 5.6.40。PHP 7.1/7.2 则因为在这个堆栈中构建和运行时出现了分段故障而被排除在外。 ...

11
3
发表了资讯
2021/11/26 07:16

PHP 8.1.0 正式发布

PHP 8.1.0 现已发布,该版本带来了许多改进和新功能。 枚举 使用枚举而不是一组常量并立即进行验证。 只读属性 只读属性不能在初始化后更改,比如,在为它们分配值后。它们可以用于对值对象和数据传输对象建模。 First-class 可调用语法 现在可以获得对任何函数的引用。 新的初始化器 对象现在可以用作默认参数值、静态变量和全局常量,以及属性参数,这有效地使使用嵌套属性成为可能。 纯交集类型 当一个值需要同时满足多个类型...

69
9
2021/11/23 07:28

JetBrains 等多家公司宣布成立 PHP 基金会

JetBrains 官方宣布,将与 Automattic、Laravel、Acquia 等多家公司共同成立 PHP 基金会。 JetBrains 从今年 5 月就开始讨论成立基金会的想法,并与多位 PHP 社区的主要贡献者交流此事,包括 Sebastian Bergmann 和 Stefan Priebsch(PHPUnit,thePHP.cc)。而 PHP 主要贡献者 Nikita Popov 将专注于 LLVM 的决定加速了成立基金会的进程。据悉,Nikita Popov 将于 12 月 1 日离开 JetBrains。 公告表示,PHP 基金会将是一个非营...

43
3
2021/11/08 08:37

TIOBE 11 月榜单:PHP 即将掉出前十

TIOBE 公布了 2021 年 11 月的编程语言排行榜。 自 20 多年前 TIOBE 指数开始发布以来,PHP 一直常驻在榜单前十;然而最近,该语言已经开始在前十的边缘苦苦挣扎。TIOBE CEO Paul Jansen 称,“PHP 曾经是 Web 编程领域的佼佼者,但现在它在这个领域面临着大量的竞争。这并不是说 PHP 已经死了,仍然有很多中小型企业在依赖 PHP。所以我预计 PHP 会进一步下降,但速度会很慢。PHP 的两个竞争对手,Ruby 和 Groovy,本月都前进了...

53
3
2021/09/28 07:01

PHP 8.0.11 发布

PHP 8.0.11 现已发布,这是一个安全版本,修复了 CVE-2021-21706;官方鼓励所有 PHP 8.0 用户升级到此版本。具体更新内容如下: Core: 修复了 bug #81302(移除 stream filter 后的 stream position)。 修复了 bug #81346(Non-seekable streams 在写入后不更新位置)。 修复了 bug #73122(串联字符串时整数溢出)。 GD 修复了 bug #53580(在调整大小的过程中,gdImageCopyResampled 导致颜色改变)。 Opcache: 修复了 bu...

13
2
发表了资讯
2021/09/16 08:35

Web 服务器端编程语言使用统计:PHP 几乎独占 80%

根据 W3Techs 近日发布的报告,PHP 在 Web 服务器端的编程语言中仍拥有极高的占比,大约为 80%。 据介绍,W3Techs 的 Web 服务器调查通过查寻 Alexa 排名前 1000 万的网站所使用的技术,再从中筛选出顶级网站进行统计,最后得出了一份从 2010 年 1 月开始,一直到 2021 年 9 月的同比图表。 (该图仅显示使用率超过 1% 的服务器端编程语言) 从图表能看出,PHP 在这 10 年里一直都是使用率最高的 Web 服务器编程语言,其使用率也...

44
1
2021/08/29 07:35

PHP 8.0.10 发布

PHP 8.0.10 现已发布,这是一个安全修复版本;官方鼓励所有 PHP 8.0 用户升级到此版本。具体更新内容如下: Core: 修复了 bug #72595(php_output_handler_append 非法写访问)。 修复了 bug #66719(将 get_Called_class() 与 call_user_func() 一起使用时的奇怪行为)。 修复了 bug #81305(内置 Web 服务器丢弃带有“Upgrade” Header 的请求)。 BCMath: 修复了 bug #78238(BCMath 返回“-0”)。 CGI: 修复了 bug #808...

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
61 评论
164 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部