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 中你可以使用多种预测类型

如何使用 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”,超文本预处理器的字母缩写)是一种...
Linux - 开源操作系统 Linux 是一个类 Unix 操作系统,是 Unix 的一种,它控制整个系统基本服务的核心程序 (...
Swoole - PHP 协程框架 Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、H...
Electron - 跨平台桌面应用开发工具 Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。...
React - Web 和原生用户界面的库 React 是一个用于构建用户界面的 JavaScript 库。
FFmpeg - 多媒体处理工具 Fmpeg 是领先的多媒体框架,能够解码、编码、转码、混合、解密、流媒体、过滤和播放人类和机器创造的...
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...

最新文章

马斯克的xAI推出 Grok 3,免费体验直至服务器崩溃! 北京时间2月20日,马斯克创立的人工智能公司 xAI 宣布其最新的 Grok3模型正式开放免费使用,...
除了 temperature 之外,还有哪些参数对大模型的输出有比较大的影响 除了 temperature 之外,还有哪些参数对大模型的输出有比较大的影响除了 temperatu...
ai大模型的接口的system role重要吗 在 AI 大模型接口中,system role 是非常重要的,它起到设置整个对话基调和上下文的作用。...
如何使用 WinGet 在Windows上安装 PHP 8.4 本文介绍了如何使用 winget 搜索、下载、安装、更新和删除 Windows PHP 二进制文件。...
2025年国内外AI大模型的API接口网址整理 本文将盘点国内外的知名度较高的AI大模型平台,其中包括AI大语言模型和AI多模态模型,方便大家一探究...
大模型与知识库:区别与联系 随着人工智能技术的迅猛发展,大模型与知识库作为其中的两个重要组成部分,各自扮演着不同的角色,同时又存...
高性能PHP框架 webman 开发规范1.0 总结下webman最新版本的开发规范以及代码建议。欢迎大家提交自己更好的开发规范以及代码建议。
日常 AI 辅助编程的模型和工具搭配推荐 最近用 AI 辅助 编程比较多,对于复杂的算法和程序设计我是这么搭配使用的
AI基础概念 本章介绍了企业AI应用可能涉及到的一些相关概念,帮助大家更好的理解 AI的相关操作。
LLaMA模型系统全面解读 简介:LLaMA模型系统由Meta AI推出,基于Transformer架构,具有高效参数利用和灵活...