农成学PHP-第一讲:PHP是什么?

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

  • 发展

PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。
在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有 PHP 的一些雏型,像是类似 Perl的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。
         在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最新稳定版本:5.4.30(2013.6.26)
PHP最新发布的正式版本:5.5.14(2014.6.24)
PHP最新测试版本:5.6.0 RC2(2014.6.03)
         2013年6月20日,PHP开发团队自豪地宣布推出PHP 5.5.0。此版本包含了大量的新功能和bug修复。需要开发者特别注意的一点是不再支持 Windows XP 和 2003 系统。
2014年10月16日,PHP开发团队宣布PHP 5.6.2可用。四安全相关的错误是固定在这个版本,包括修复cve-2014-3668,cve-2014-3669和cve-2014-3670。所有的PHP 5.6鼓励用户升级到这个版本。

  • 开发工具

  • 集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:
    • Zend Studio:商业版,Zend官方出品,基于eclipse  小编就是用的这款强烈推荐
    • Eclipse with PDT:免费
    • Coda:商业版,针对Mac用户
    • NetBeans:免费,功能强大
    • PHP Storm:商业版
    • Aptana Studio:免费
    • PhpEd:商业版
    • Komodo IDE/Edit:IDE为商业版,Edit可免费使用
    • Adobe Dreamweaver:商业版
    除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:Notepad++ 小编推荐、Editplus、SublimeText、Everedit(国人开发)等等。
  • PHP的特性


    1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
    2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
    PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
    PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
    3. PHP支持几乎所有流行的数据库以及操作系统。
    4. 最重要的是PHP可以用C、C++进行程序的扩展!

 

以下内容来自互联网,

12个问答带你了解PHP的前世今生

1.谁发明了PHP语言?

Rasmus Lerdorf发明了PHP语言(最初的两个版本),并参与了其他后续版本的开发。Andi Gutmans和Zeev Suraski后来又重写了PHP解释器。Rasmus Lerdorf出生于1968年,现在40多岁了,目前在Jelastic公司担任高级顾问一职。

2.Rasmus Lerdorf曾经是怎么写出PHP的?

“我真的完全不懂怎么去写一门编程语言,我只是在前进的路上保持添加下一个逻辑步骤”

Rasmus以他精彩的语录广为人知。下面还有一些经典语录:

“我实际上很讨厌编程,但我喜欢解决问题。”

“我不是一个真正的程序员,我把那些东西都扔到一起知道它们能正常使用了我才继续工作下去。真正的程序员会说‘是啊,它们是能工作了,但你把内存泄露的到处都是。也许我们应该解决这个问题。’然后每10次请求的时候我就会重启Apache服务器。”

“所有对我的语录感到兴奋的人们,这里还有一条—‘是的,我是一个糟糕的程序员,但我可能还是比你强点儿。’”

3.PHP起初代表什么?现在又代表什么?

PHP起初是Personal Home Page and PHP(个人主页与PHP)的缩写,现在代表了Hypertext Processor(超文本预处理器)。

4.PHP 5(Zend II引擎支持)是什么时候发布的?

PHP 5.0.0在2004年的8月13日发布,这都10多年了!它开始把Zend 2.0引擎作为内核。

它包括了很多像新的对象模型,标准PHP库(SPL),类型提示,异常处理等新功能。

5.PHP将要发布的下一个重大版本是什么?

PHP 6是在尝试工作在unicode上的从未发布过的版本。所以将要发布的下一个重大版本是PHP 7.这个版本的PHP将会有性能上的巨大提升。

6.PHP的吉祥物是什么?

希望你知道这个,是一只叫做elePHPant的大象(大家有没有才明白这个吉祥物的意义,这也是PHP100小编在扫盲了)!

7.谁现在负责PHP的进展工作?

PHP的实现参考现在是由“PHP小组”出品的。

8.谁开发了HHVM,它代表什么?

HHVM是Facebook开发出来的一个虚拟机。它能执行PHP和Hack程序。HHVM使用了一个JIT(实时)编译进程,这能让PHP/Hack代码比今天建立起来的其他PHP程序跑的快很多。自从2013年,Facebook就开始在HHVM上运行了。

9.PHP的依赖项管理器是什么?

Composer

10.2014年运行在PHP上的网站的百分比是多少?

根据“W3Techs”数据显示,PHP撑起了全世界82%的的网站(PHP100小编认为这确实能说明PHP的普遍性与与简易性),PHP 5在所有安装的PHP版本中占据了98%的强优势份额。

11.在2013年,在漏洞数据库中有多少漏洞是由PHP导致的?

在漏洞数据库中搜索“PHP”你会得到大约9%的数据。考虑到PHP支持了80%的网站,这个数据还不算太糟糕。在所有的数据库中(自2003年以来),30%的漏洞是由PHP导致的(PHP100真的认为PHP的安全性有待大幅度提高)。

12.在最新版本的PHP中防止SQL注入的首选方法是什么?

通过使用预处理语句。

未经允许不得转载:微信信息发源地 » 农成学PHP-第一讲:PHP是什么?

赞 (8) 直达飞机
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册