上海花千坊

php语言

PHP语言的优点及缺点

时间:2024-06-28 10:23:52 php语言 我要投稿
  • 相关推荐

PHP语言的优点及缺点

  PHP(PHP:Hypertext Preprocessor)是一种在电脑上运行的脚本语言,主要用途是在于处理动态网页,也包含了命令行运行接口(command line interface),或者产生图形用户界面(GUI)程序。PHP语言有哪些优点和缺点呢?下文将为大家一一讲述。欢迎阅读!

  优点

  1.入门快,有其它语言基础的程序员二周左右的时间就可以入门,一个月左右的时间基本上就可以开发简单的项目了。

  2.开发成本低,PHP最经典的组合就是:Linux + Apache + MySQL + PHP。非常适合开发中小型的web应用,因为上手容易,所以开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

  3.PHP是解释性的脚本语言,写完代码以后即可以执行,不像c,java,c++等语言还需要去编译执行,相对来说比较节省时间。

  4.相对来说,PHP程序员的薪水的平均工资要比c,c++,java程序员的平均工资要低一些,特别是对于中小型企业来说可以节约一些成本。

  5.配置及部署相对简单一些,对比JAVA开发来说,JAVA开发的配置就复杂多了,什么Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每写一个SQL语句都需要先在Hibernate中配置一下,有时重新部署一个class文件或jar文件还可能需要重启Web服务器(Tomcat或Resin或其它的Web服务器)使新部署的库文件生效。PHP开发中主要是PHP自身的配置文件及Web服务器的配置(如Apache或Nginx或Lighttpd等),相对于JAVA来说还是简单一些,而且新修改了文件以后不需要重新启动Web即可以立即生效。

  缺点

  1.对多线程支持不太好,大多数时候我们只能简单的模拟去实现的,Via。

  2.对面向对象的支持也不太好,相对来说PHP5的面向对象有了不少的提升。

  3.编码规范不太统一,如删除用户,有的人用_user,而有的人可能用User,如果不提前制定编码规范,这种情况可能会经常发生,因为每个人都有自己的编码习惯。

  4.语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。

  【相关阅读】PHP语言简介

  PHP(PHP:Hypertext Preprocessor)是一种在电脑上运行的脚本语言,主要用途是在于处理动态网页,也包含了命令行运行接口(command line interface),或者产生图形用户界面(GUI)程序。

  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 5.3将会加入Late static binding和一些其他的功能强化。

  PHP 6的开发也正在进行中,主要的改进有移除register_globals、magic quotes和Safe mode的功能。

  应用

  PHP是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说PHP大多在服务器端运行,通过运行PHP的代码来产生网页提供浏览器读取,此外也可以用来开发命令行脚本程序和用户端的GUI应用程序。PHP可以在许多的不同种的服务器、操作系统、平台上运行,也可以和许多数据库系统结合。使用PHP不需要任何费用,官方组织PHP Group提供了完整的程序源代码,允许用户修改、编译、扩充来使用。

  安全

  据National Vulnerability Database数据显示,与PHP有关的数据库攻击比例为:20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009。其中很多的漏洞都可以通过远程操作完成,如:黑客可以通过网络连接攻击服务器,达到盗取或毁坏数据,发送垃圾邮件或进行拒绝服务攻击。但是随着更多的关注,PHP也变得越来越安全了

  语法

  PHP的语法参考了Perl、C语言,而且可以集成在HTML之中,以下是一个简单的Hello World程序:

  echo 'Hello World!';

  ?>

  PHP剖析引擎只剖析之间的代码,而不包含在之间的内容则会直接提交,所以可以用以下的方式来将PHP代码嵌入在HTML之中:

  //-PHP程式碼

  ?>

  html內容

  //-PHP程式碼

  ?>

  在HTML中嵌入PHP时,比如需要单独输出某个变量,除了正常采用echo语句外,可以直接采用

  但是在判断语句中的HTML代码并不会被直接提交:

  if (false) {

  ?>

  HTML Code

  }

  ?>

  PHP可以用三种注解的形式:C与C++所使用的“”与“//”,和Perl的“#”。

  类型

  PHP主要有以下四种标量类型:

  整型(integer)

  浮点型(float)

  布尔型(boolean)

  字符串(string)

  两种复合类型:

  数组(array)

  对象(object)

  两种特殊类型

  NULL

  资源(resource)

  变量

  PHP中,变量以“$”后接变量名称来表示。变量名称区分大小写。

  有效的变量名称以字母或下划线开头,后接任意数目的字母、数字或下划线,PHP也支持使用多字节文字作为变量名。

  面向对象

  PHP从PHP 3开始有了基本的面向对象(Object oriented)的特性,但直到PHP 5将面向对象部份重新改写之后,PHP的面向对象功能才比较完善。现在PHP可以说是一个有完整面向对象功能的语言。

  库

  主条目:PHP库列表

  自带多样化的函数是PHP主要的特点之一,这些开放代码的函数提供了各种不同的功能,例如文件处理、FTP、字符串处理、等等。这些函数的使用方法和C语言相近(例如printf),这也是PHP广为流行的原因之一。

  除了自带的函数之外,PHP也提供了很多延伸库(extension),像是各种数据库连接函数、数据压缩函数、图形处理等等。有些延伸库需要从PECL(PHP Extension Community Library)取得。

  源代码编码和加速

  PHP源代码是可以直接读取的,即使放到服务器上运行也是一样。虽然让PHP多了弹性,但相对的会造成安全危机和性能下降的问题。

  通过PHP编码器,可以保护PHP的源代码不被读取(对商业软件来说特别有需求),也可以提升运行的效能。有许多公司或团体开发PHP的编码器,将PHP程序编译成字节码(byte code),再通过服务器上安装对应的程序来运行PHP脚本。

  除了通过编码器加速之外,PHP还可以通过动态的高速缓存机制来提升速度,加速工具有商业版的,例如Zend Platform,也有开放源代码的加速软件如eAccelerator、APC、XCache。

  样板引擎

  样板引擎让PHP应用程序可以做逻辑和使用接口上的分离,让程序开发更容易进行,目前比较受欢迎的样板引擎是PHP官方开发的Smarty。不过样板引擎有效能上的争议,因为PHP本身就是一个样板引擎,使用样板引擎反而变成“重新发明了轮子”(reinventing the wheel)。样板引擎最主要的好处就是让不懂PHP代码的人也可以参与使用接口的开发,因为样板引擎的语言远比PHP简单。

  PHP 编译器

  面书在2010年推出HipHop编译器,HipHop以自由软件授权协议发放。HipHop把PHP源代码编译成C++,以提高速度;根据面书的内部测试,HipHop的性能比本来的PHP版本高,而CPU负载减少50%。

  未来发展

  PHP 6

  支持Unicode

  移除ereg扩展, 'register_globals', 'magic_quotes'和'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[31]

  var成为public的别名,在类中的var声明变成了public。

  去除了register_long_array, PHP5默认是关闭的, PHP6则干脆移除。

【PHP语言的优点及缺点】上海花千坊相关的文章:

PHP语言的优缺点08-09

C语言的优点和缺点09-06

C语言的优点缺点是什么09-16

php的优缺点有哪些04-24

php语言简介08-25

php语言的优势09-06

PHP语言的简介09-23

什么是php语言10-24

Java语言的优点07-12

php语言是什么05-21