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]
前言 PHP 基本知识点介绍。 一、PHP是什么语言 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源的、简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。 用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效
PHP 介绍 1.什么是 PHP PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。 PHP:Hypertext Preprocessor,中文名:“超文本预处理器”,一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于Open Source(开放源代码)的尤其适合Web开发并可以
主要内容:静态网页,动态网页本节我们了解一下静态网页和动态网页的相关概念。如果您熟悉前端语言的话,那么您可以快速地了解本节知识。 当我们在编写一个爬虫程序前,首先要明确待爬取的页面是静态的,还是动态的,只有确定了页面类型,才方便后续对网页进行分析和程序编写。对于不同的网页类型,编写爬虫程序时所使用的方法也不尽相同。 静态网页 静态网页是标准的 HTML 文件,通过 GET 请求方法可以直接获取,文件的扩展名是 、 等,网面中
问题内容: 我有一组要处理的.csv文件。使用SQL查询来处理它会容易得多。我想知道是否有某种方式可以加载.csv文件,并使用SQL语言通过python或ruby之类的脚本语言对其进行查询。用类似于ActiveRecord的东西加载它会很棒。 问题是我不想在运行脚本之前在某个地方运行数据库。在脚本语言和某些模块之外,我不需要其他安装。 我的问题是该任务应使用哪种语言以及使用哪些模块。我环顾四周,找
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我有来自数据库的数据行,我想有一个带有简单分页的表,最简单的方法是什么? 如果有人可以提供,我会很高兴。 问题答案: 这是HTML和代码的混合,但是非常基础,易于理解,并且解耦起来也很简单,可以满足您的需求。
从网页的主要构成来说,一个标准的网页一般有4个部分组成:内容、结构、表现和行为。 内容是网页中要传达的信息,包括文本、数据、图片、视频等,一般由HTML(XHTML)来完成,也就是页面中的各种页面元素对象,它们是被动态操纵的内容; 结构是使用结构化的方法对网页中用到的信息进行分类和整理,使内容更具条理性、逻辑性和易读性; 表现是使用表现技术对已经结构化的信息进行表现上的控制,如版式、文本大小、文本
问题内容: 如果尝试,它将下载已解决的页面。但是我想下载原始脚本。这可能吗? 问题答案: 不用了,谢谢你。服务器完全控制它如何响应HTTP请求。 严格来说,首先您不能确定它的另一端是否是PHP。
我是这个领域的新手,也是生物学背景。 我正在研究生物数据库。我已经使用MySQL、HTML、PHP和Bootstrap开发了一个数据库,但是,我想添加一个分析模块,比如用python编写的算法。 例如,我想添加一个序列搜索算法。(例如,我的数据库中已经有序列,当有人输入他/她的序列时,我的数据库将显示类似的序列) 但是,我找不到任何合适的教程,说明如何运行外部python脚本并在网页上显示结果。
我最近在Spring开始使用thymeleaf模板引擎。我想实现的是-如果我的控制器是这样的 我更喜欢把头部部分作为页眉片段,内容来自控制器,页脚来自页脚片段。 所以总的来说--我是如何做到这一点的: /fragment/header.html http://www.thymeleaf.org/doc/articles/layouts.html https://looksok.wordpress.
主要内容:动态网页静态或平面的网页是指一个网页,其中所有的信息和材料都存储在网页文件中。 静态网页向所有用户显示不太经常改变的信息和数据。 在互联网技术中,超文本标记语言(HTML)是人们开始创建静态网页的第一语言或渠道。 HTML提供了文本,段落创建和换行符的风格。 但HTML的最重要的功能和特点是链接创建选项。 静态网页对于他们的材料和内容很有用,而这些内容很少需要修改或更新。 静态网站的优势 快速开发 低价开