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 中检测 n+1 查询

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

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

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

PHP真正的异步即将到来?!

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

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

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

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

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

为什么 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...
Open WebUI - 用户友好的 AI 界面 Open WebUI 是一个功能丰富、用户友好的开源自托管人工智能界面,旨在为用户提供与大型语言模型...
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...
AnythingLLM - 易于使用的一体化 AI 应用程序 AnythingLLM 是一个功能强大且灵活的开源 AI 应用程序,由 Mintplex Labs ...
Linux - 开源操作系统 Linux 是一个类 Unix 操作系统,是 Unix 的一种,它控制整个系统基本服务的核心程序 (...
npm - Node.js 包管理工具 npm 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。
React - Web 和原生用户界面的库 React 是一个用于构建用户界面的 JavaScript 库。
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...

最新文章

低学历的人,真的不玩AI吗?数据告诉你残酷真相 是的,现在确实存在比较明显的现象:低学历群体使用AI助手(比如文心一言、豆包、通义千问、DeepSe...
Clawdbot:这个AI“私人秘书”让我摆脱琐事,效率爆棚!亲身经历分享 大家好,我是Lenix,一个热爱探索科技前沿的普通上班族。最近,我被一个叫Clawdbot的AI助手...
科技版 AI 2026年马年春节祝福对联 根据现在的科技及AI发展情况,结合2026年马年写几幅2026年马年春节祝福对联。
2026 AI开年黑科技!DeepSeek mHC架构震撼发布,Transfor... 哇哦,朋友们!新年第一天,中国AI黑马DeepSeek就扔出一颗重磅炸弹!一篇名为《mHC: Man...
2025AI使用总结 2025 AI使用总结
别把 AI 当“全知之神”:普通人如何真正用好大模型? 现在,很多人都在用 ChatGPT、豆包或deepseek这样的 AI 工具,大家最习惯的做法就是把...
http Authorization: Bearer 认证 安全性如何,为何AI... Authorization: Bearer (简称 Bearer Token)是目前互联网 API ...
现在国内外主流大语言模型,哪些写文章好? 目前,2026年初(基于2025年底至2026年初的最新评测和用户反馈),主流大语言模型在写文章(包...
如何在 PHP 中检测 n+1 查询 n+1查询问题是软件开发中常见的性能问题。 N+1 查询会导致许多不必要的数据库调用。这可能会导致您...
现在你可以用一个命令安装 PHP 和 Laravel 安装程序 创建第一个 Laravel 项目时,您需要确保先安装 PHP 和 Composer。但是,如果您尚未...