PHP PHP 动态网页脚本语言

未知
2024-03-11 10:33:06
0
授权协议 MIT  
开发语言 C/C++
操作系统 跨平台  
软件类型 开源软件
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2024-03-10

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真正的异步即将到来?!

介绍多年来,PHP 一直试图在长期运行的应用程序开发中占据一席之地,而并发代码执行在该领域尤为有用。已经出现了 Swoole、AMPHP、ReactPHP 等可...

如何使用 WinGet 在Windows上安装 PHP 8.4

本文介绍了如何使用 winget 搜索、下载、安装、更新和删除 Windows PHP 二进制文件。PHP 包作为支持修改系统 PATH 变量的可移植应用程序安...

高性能PHP框架 webman 开发规范1.0

总结下webman最新版本的开发规范以及代码建议。欢迎大家提交自己更好的开发规范以及代码建议。

现在你可以用一个命令安装 PHP 和 Laravel 安装程序

创建第一个 Laravel 项目时,您需要确保先安装 PHP 和 Composer。但是,如果您尚未安装这些,对于新手来说可能会有点繁琐。不用担心,Larave...

如何在 PHP 中检测 n+1 查询

n+1查询问题是软件开发中常见的性能问题。 N+1 查询会导致许多不必要的数据库调用。这可能会导致您的应用程序以蜗牛般的速度运行,尤其是随着数据的增长。因此,您...

为什么 Laravel 这么优秀

Laravel 一直是我心中最优雅的后端框架,为了向更多的人解释为什么 Laravel 这么优雅?框架本身都做了什么操作?比起其他框架的优势在哪里等?我准备从一...

PHP老矣,尚能饭否?

近日 GitHut 最新公布的数据显示,开发者在 GitHub 提交的 PR 中,所使用语言为 PHP 的数量逐年下降。

我们都应该学习PHP

PHP这三个字母官方的含义是这样的——PHP: Hypertext Preprocessor。但我想对PHP这三个字母做一个新的解读:Pragmatic、Hum...

代码

0

相关软件

Swoole - PHP 协程框架
Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Soc...
2024-05-14 10:32:52
vscode - Visual Studio Code 代码编辑器
VSCode 是一款由微软开发的免费开源的跨平台文本编辑器,支持 Windows,macO...
2024-03-10 12:11:42
Electron - 跨平台桌面应用开发工具
Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面...
2024-03-10 11:43:01
Java - 编程语言
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Ja...
2024-03-10 11:38:52
Go - Google 的编程语言
Go 是 Google 开发的一种编译型、并发型,并具有垃圾回收功能的编程语言
2024-03-10 10:49:50
Laravel - PHP 开发框架
Laravel 是一个具有表现力、优雅语法的 Web 应用程序框架。Web 框架提供了创建...
2024-03-10 10:25:01
Python - 面向对象编程语言
Python (发音:[ 'paiθ(ə) n; (US) 'paiθ...
2024-03-10 10:15:22
ollama - 本地运行的大语言模型(LLM)平台 Ollama 是一个本地运行的大语言模型(LLM)平台,可以启动并运行 Llama 3.3、Deep...
Zed - 高性能、多人代码编辑器 Zed 是一款高性能、多人代码编辑器,由 Atom 和 Tree-sitter 的创建者开发。它也是...
HarmonyOS NEXT - 华为公司自研操作系统 HarmonyOS NEXT是华为公司自研操作系统,该系统是鸿蒙抛弃Linux内核及安卓开放源代码项...
ChatGPT - OpenAI发布的AI聊天机器人模型 ChatGPT(全名:Chat Generative Pre-trained Transformer...
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...
Open WebUI - 用户友好的 AI 界面 Open WebUI 是一个功能丰富、用户友好的开源自托管人工智能界面,旨在为用户提供与大型语言模型...
Linux - 开源操作系统 Linux 是一个类 Unix 操作系统,是 Unix 的一种,它控制整个系统基本服务的核心程序 (...
Cursor - AI 代码编辑器 Cursor 是一款基于人工智能的代码编辑器,由美国公司 Anysphere 开发,旨在通过集成先进...
AnythingLLM - 易于使用的一体化 AI 应用程序 AnythingLLM 是一个功能强大且灵活的开源 AI 应用程序,由 Mintplex Labs ...
Swoole - PHP 协程框架 Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、H...
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...

最新文章

混元-T1: 强化学习驱动,业内首个超大规模混合Mamba推理模型正式发布 强化学习在大语言模型的后训练阶段开创了新的Scaling范式,这一突破正日益受到业界重视。随着Ope...
4个顶级的搜索引擎API,构建AI应用必备 本文介绍四款Web搜索API:博查、微软Bing、GoogleSerpApi和Exa.ai,各自具有...
多个大模型常用的搜索api插件分享 推荐谷歌搜索插件、exa search api和firecrawl搜索API工具。exa提供精炼ht...
通俗易懂说清楚什么是MCP 这两天随着 Manus 的爆火,MCP 也被大家频繁提及,那 MCP 到底是什么?说的通俗点,它就是...
AGI时代不可避免了,给8点建议 不管大家相不相信、愿不愿意接受,随着gpt、deepseek和manus这类产品的加速发展。以及机器...
人工智能冲击,美国程序员就业人数跌至1980年以来最低 美国劳工统计局的当前人口调查(Current Population Survey)数据显示,由于人工...
OpenAI 今天又发布了一批新功能,这次是三个音频模型API OpenAI 今天又发布了一批新功能,这次是三个音频模型API,个人觉得挺实用。新音频模型一览这次发...
推荐自媒体多平台分发视频发布顺序 自媒体 多平台分发视频 发布顺序如下
AI画图(AI绘画):文生图提示词(prompt)教学 AI画图(AI绘画):文生图提示词(prompt)教学 提 示 词 (Promp0 是 一 种 用 ...
四部门联合印发《人工智能生成合成内容标识办法》 为了促进人工智能健康发展,规范人工智能生成合成内容标识,保护公民、法人和其他组织合法权益,维护社会公...