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 指数为
超过 的项目

评论

点击加入讨论🔥(62) 发布并加入讨论🔥
发表了资讯
昨天 15:17

PHP 8.2.17 发布

PHP 8.2.17 已发布,更新内容如下: Core: 修复了在关闭时 ZTS 持久资源崩溃的问题。 Curl: 修复了由于 libcurl 8.6.0 中字符串更改导致的测试失败问题。 DOM: 修复了 DOMNodeList 和 DOMNodeMap 中维度的引用访问问题。 Fileinfo: 修复了 bug GH-13344(finfo::buffer(): Failed identify data 0:(null), backport)。 FPM: 修复了 bug #75712(php-fpm 中的 getenv 不应该读取 $_ENV、$_SERVER)。 GD: 修复了 bug GH-12019(...

1
0
发表了资讯
03/16 08:49

PHP 8.3.4 发布

PHP 8.3.4 现已发布,这是一个错误修复版本。具体更新内容包括: Core: 修复 ZTS 持久资源在关闭时崩溃的问题。 Curl: 修复由于 libcurl 8.6.0 中的字符串更改而导致测试失败的问题。 Fileinfo: 修复了错误 GH-13344(finfo::buffer(): Failed identify data 0:(null), backport)。 FPM: 修复了错误 #75712(php-fpm 中的 getenv 不应读取 $_ENV、$_SERVER)。 GD: 修复了错误GH-12019(检测系统 gd 库中的图像格式)。 ...

3
0
发表了资讯
03/11 10:22

TIOBE 3 月榜单:PHP 跌出前 10 名

TIOBE 公布了 2024 年 3 月的编程语言排行榜。 二月份的 TIOBE 指数是相对平静的一个月。TIOBE CEO Paul Jansen 指出,唯一值得关注的是,Python 现在领先其他软件 4.5%,Scratch 重新进入前 10 名,Rust 则继续攀升。此外,Java 跌幅高达 -4.61%。 TIOBE 3 月 TOP 20 编程语言 PHP (10→12) 在本月榜单中跌出了 Top 10 的位置。取而代之的是 Scratch,由上月的第 15 位攀升至了第 9 位;Visual Basic 则由第 9 被挤至了第 10 位...

14
1
发表了资讯
02/16 12:23

PHP 8.3.3 发布

PHP 8.3.3 现已发布,这是一个错误修复版本。具体更新内容包括: Core: 修复了 zend-max-execution-timers 构建中的计时器泄漏。 修复了错误GH-12349(ARM 与 mold 的链接失败)。 修复了错误GH-13097(trigger_error / 中的匿名类引用抛出异常)。 修复了错误GH-13177(PHP 8.3.2:在 trait 中使用时不允许使用最终私有构造函数)。 修复了错误GH-13215(GCC 14 build 失败)。 Curl: 修复curl_multi_init() 中缺少的错误检查...

5
0
发表了资讯
01/19 10:28

PHP 8.3.2 发布

PHP 8.3.2 现已发布,这是一个错误修复版本。具体更新内容包括: Core: 修复了错误GH-12953(加载包含超过 11k 元素的 Composer classmaps 时误报 SSA 完整性验证失败)。 修复了错误GH-12999(不支持 strnlen 时构建 zend_strnlen)。 修复了错误GH-12966(缺少交叉编译第三个参数,因此 Autoconf 不会发出警告)。 修复了错误GH-12854(8.3 - 因为最终 trait-used 方法无法在 Reflection 中正确报告可见性)。 Cli: 修复使用...

2
0
发表了资讯
2023/12/22 10:13

PHP 8.3.1 发布

PHP 8.3.1 现已发布,这是一个错误修复版本。具体更新内容包括: Core: 修复了错误 GH-12758 / GH-12768(ZEND_FUNC_GET_ARGS 和 ZEND_BIND_STATIC 内的 OOM 处理程序中的无效 opline)。 修复各种缺失的 NULL 检查。 修复了错误 GH-12835(内部 __call 上的 call->extra_named_params 泄漏)。 修复了错误 GH-12826(嵌套循环中奇怪的指针问题)。 FPM:: 修复了错误 GH-12705(fpm_status_export_to_zval 中的 Segmentation...

13
0
发表了资讯
2023/12/14 11:38

2023 年,PHP 停滞不前

热心开发者分析了一波 GitHub 的数据后发现,编程语言为 PHP 的 PR 数量逐年下降。 GitHut 是通过 GitHub 数据专门分析编程语言的项目。它基于各种编程语言在 GitHub 中的使用情况,挖掘编程语言在开发者中的受欢迎程度,并发现每种语言的独特之处。 GitHub 本身提供了公开的 API,支持与其庞大的事件数据集与托管仓库进行交互。GitHub Archive 则更进一步,汇总并存储了 API 的长期数据。 GitHut 2.0 使用的定量数据通过 Goog...

16
2
发表了资讯
2023/11/23 11:12

PHP 8.3 GA

PHP 8.3 已正式发布。主要变化包括: 类常量显式类型 (Typed class constants) 只读属性深拷贝 新增#[\Override]属性 新增json_validate()函数 添加Randomizer::getBytesFromString()方法 添加Randomizer::getFloat()和Randomizer::nextFloat()方法 以及更好的性能、更好的语法、改进类型安全 下面介绍部分语法的变化。 类型化类常量 PHP < 8.3 interface I { // We may naively assume that the PHP constant is alway...

51
2
发表了资讯
2023/11/13 12:00

TIOBE 11 月榜单:PHP 升至第 7,Kotlin 能否跻身四大?

TIOBE 公布了 2023 年 11 月的编程语言排行榜。 Kotlin 排名继续稳步上升,继上月排名从第 20 位升至 18 后;本月又上涨了 0.17%,升至第 15 位。Kotlin 曾在 2 个月前进入了 TIOBE 指数的前 20。该语言的第一波流行是在 2017 年,彼时 Google 宣布在 Android 上对 Kotlin 提供一流的支持,Kotlin 在 TIOBE 指数中也达到了近 1% 的峰值。但这一记录在本月被打破,目前 Kotlin 的评级为 1.15%。 TIOBE CEO Paul Jansen 评论称,“...

8
1
发表了资讯
2023/10/27 10:34

PHP 8.2.12 发布

PHP 8.2.12 现已发布,这是一个错误修复版本。具体更新内容包括: Core: 修复了错误 GH-12207(当类使用带有 doc block 的特征时内存泄漏)。 修复了错误 GH-12215(Module entry 被覆盖导致 ext/dom 中的类型错误)。 修复了错误 GH-12273(__builtin_cpu_init 检查)。 修复了错误 #80092(ZTS + preload = segfault on shutdown)。 CLI: 确保存在单个 Date header。 CType: 修复了错误 GH-11997(ctype_alnum 在 PHP 8....

6
0
发表了资讯
2023/09/30 10:13

PHP 8.2.11 发布

PHP 8.2.11 现已发布,这是一个错误修复版本。具体更新内容如下: Core: 修复了错误GH-11937(包含对象的常量 AST)。 修复了错误GH-11790(在 riscv64 上,如果实际需要,则需要 libatomic)。 修复了错误GH-11876:ini_parse_quantity() 接受无效数量。 修复了错误GH-12073(释放未完全初始化的闭包时出现的 Segfault)。 修复了错误GH-12060(内部迭代器倒回处理程序被调用两次)。 修复了错误GH-12102(在函数调用中对 TM...

2
0
发表了资讯
2023/09/11 12:53

PHP 最新统计数据:市场份额超 7 成、CMS 中的王者

Wikimedia 基金会首席工程师 Timo Tijhof 发表文章《An Internet of PHP》,探讨了 PHP 在互联网中的广泛应用和重要性。 下面是文章整理的部分数据。 PHP 仍然是首选编程语言 根据 W3 Techs 对全球前 1000 万个网站使用的编程语言分析(截至 2023.8): PHP 占比 77.2% ASP 占比 6.9% Ruby 占比 5.4% 基于 PHP 的内容管理框架 绝大多数公开网站都是使用基于 PHP 的 CMS 进行构建。根据市场份额,12 大 CMS 软件中有 8 个 采用 ...

217
12
发表了资讯
2023/09/01 11:35

PHP 8.3 RC1

PHP 8.3 发布了首个 RC。按照发布计划,RC 阶段会有 6 个版本更新,然后在 11 月 23 日发布最终正式 GA。 PHP 8.3 引入了许多新特性,同时也弃用了不少功能,以及其他变更。 8.3 主要新特性 类型化的类常量 (Typed Class Constants) 支持获取动态的类常量 (dynamic class constant) 和枚举成员 (Enum member) 新增json_validate()函数,用于验证 JSON 添加 Random 扩展 添加mb_str_pad() 添加#[\Override]属性 新增更多 PHP So...

53
2
发表了资讯
2023/07/19 17:18

2023 年需求最大的 8 种编程语言:PHP 强劲,C/C++ 需求放缓

在过去的 17 个月(2022 年 1 月至 2023 年 5 月)时间里,DevJobsScanner 通过分析超 1400 万个开发人员职位,并从中筛选了有明确编程语言需求的职位,得出了在 2023 年需求量最大的 8 种 语言。 目前市场中需求最高的前八位语言分别是: 1、JavaScript / TypeScript 和以往一样,Javascript 仍然保持流行,是整个市场上需求量最大的编程语言;而 TypeScript 的到来可能也推动了这一里程碑的实现。TypeScript 的受欢迎程度近年...

22
4
发表了资讯
2023/04/15 07:52

PHP 8.2.5 发布

PHP 8.2.5 现已发布,这是一个错误修复版本。具体更新内容如下: Core: 在 ZTS/Linux 构建中添加了对 max_execution_time 的可选支持 修复了递归 AST 评估中的 use-after-free。 修复了错误 GH-8646(内存泄漏 PHP FPM 8.1)。 重新添加一些被错误地从 CTE 中移除的 CTE 函数。 从错误添加的 array_diff_ukey() 中删除 CTE flag。 修复了错误 GH-10801(CTE 函数中的命名参数导致 segfault)。 修复了错误 GH-8789(PHP 8.0.2...

6
0
发表了资讯
2023/02/11 08:29

PHP 生态系统经历大规模现代化改造,7.4 是最常用版本

Zend by Perforce 发布了最新的“2022 PHP Landscape Report”。该报告基于 2022 年 10 月至 12 月期间对 651 名 IT 专业人士的调查,涵盖了开发人员最常用的 PHP 工具、正在构建的内容以及所面临的挑战等多方面内容。受访者中排名前三的工作类别分别是:开发人员 (56.2%),开发经理和主管 (10.3%),IT 经理和主管 (7%)。 报告指出,尽管已经于去年 11 月停止支持,但 PHP 7.4 仍然是最常用的版本,54% 的受访者将其部署在生产环...

37
1
发表了资讯
2023/02/04 07:56

PHP 8.2.2 发布

PHP 8.2.2 现已发布,这是一个错误修复版本。具体更新内容如下: Core: 修复了错误 GH-10200(zif_get_object_vars:断言 `!(((__ht)->u.flags & (1<<2)) != 0)' 失败)。 修复 GH-10251(断言 `(flag & (1<<3)) == 0' 失败)。 修复 GH-10240(将超过 2**30 个元素添加到 unpacked 数组时断言失败)。 修复 GH-9735(Fiber stack variables 不参与 cycle collector)。 修复 GH-9675(内部枚举方法的 run_time_cache init 损坏...

29
0
发表了资讯
2023/01/06 07:28

PHP 8.2.1 发布

PHP 8.2.1 现已发布,这是一个安全更新版本。具体更新内容如下: Core: 修复了错误GH-9905(当类未定义时 constant() 行为不一致)。 修复了错误GH-9918(xxHash 的许可证信息未包含在 README.REDIST.BINS 文件中)。 修复了错误GH-9890(OpenSSL legacy providers 在 Windows 上不可用)。 修复了错误GH-9650(无法初始化堆:[0x000001e7])。 修复了 Windows ftok(3) emulation 中潜在的未定义行为。 修复了 GH-9769(对象解...

4
0
发表了资讯
2022/12/09 09:44

PHP 8.2 发布了!

PHP8.2是PHP语言现代化进程中的一个重要的里程碑。除了令人兴奋地新特性和改进之外,PHP8.2还简化了语言,取消了对动态类属性的支持,在遇到某些非最优的ini配置时发出警告,并修复了一些影响PHP数组排序和某些类型的字符串转换/编码操作的遗留PHP行为。 系统改进 PHP8.2解决了PHP类型系统的几个缺点和限制,允许PHP应用采用更好的类型安全。包括添加了true类型,允许null和false作为独立的类型使用,并支持DNF类型(泛型解析)...

4
1
发表了资讯
2022/12/09 07:34

PHP 8.2.0 发布

PHP 开发团队宣布了 PHP 8.2.0 的立即可用,这是 PHP 语言的最新次要版本。 PHP 8.2 带来了许多改进和新功能,例如: 只读类 (Readonly classes) 将一个类标记为只读会给每个声明的属性添加只读修饰符,并阻止动态属性的创建。此外,不可能通过使用 AllowDynamicProperties 属性来增加对它们的支持。试图这样做将触发一个编译时错误。 <?php #[AllowDynamicProperties] readonly class Foo { } // Fatal error: Cannot ...

19
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{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}}
没有更多内容
暂无内容
暂无内容
62 评论
163 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部