ITLAOK

PHP(超文本预处理器)—— ITLAOK

渣渣楷

搜索
PHP JavaScript 格局

分类:PHP

PHP(超文本预处理器)

发布时间:2020-06-03 14:48:28

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

一、简介

PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。

根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。

二、主要特点

1、开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。

2、快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

3、数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

4、面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

三、优点

1、流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

2、开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

3、仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

4、可植入性强

PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

5、拓展性强

PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。

四、缺点

1、PHP的解释运行机制

在 PHP 中,所有的变量都是页面级的,无论是全局变量, 还是类的静态成员,都会在页面执行完毕后被清空。

2、设计缺陷,缺少关注

PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从 C++和Java学来的。

3、对递归的不良支持

PHP并不擅长递归。它能容忍的递归函数的数量限制和其他语言比起来明显少。

五、PHP加密

1、加密的目的

加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将信息转换回有意义的可读信息,通过加密可以防止非授权的信息窃取。

2、PHP加密函数

PHP的加密函数有crypt()、md5()和sha1()这3种, 其中crypt()用于单向加密,所谓的单向加密就是将需要加密的内容进行加密之后,无法将密文转换成为可读的内容,因此单向加密的应用范围较狭窄,一般用于用户名认证和密码输入等情况;当用户进入系统时,只需要将密文口令输 入,经过系统验证与存储的口令一致, 即可通过。

md5()和sha1()属于哈希算法,它是不可逆的一种算法,通过截取任意一段的初始信息,将其进行转换,所得到的内容就是哈希值,且长度固定。 这样即使信息丢失,对哈希值进行分析也是无意义的,因为它与原来的信息并无直接联系,因此具备较强的加密功能。md5() 使用了MD5散列算法,将一个长度不固定的信息转换为128位的信息摘要。

sha1()函数使用了SHA-1的散列算法,其原理与md5() 类似。md5()和sha1()经常用于验证信息的完整性,即通过计算文件的哈希值来验证文件是否被修改,因此在PHP中还需要两个函数来对哈希值进行计算,md5_file() 和sha1_file(),一旦发现计算出的哈希值与原始值不同,就可以判断文件遭到了修改。这3种函数虽然操作简单,但是都是不可逆的,无法对密文进行解读;但是在更高层次的加密工作中,这些简单的加密函数的加密效果就显得有些捉襟见肘了。

六、MySQL数据库访问

PHP作为服务器端的脚本语言,其跨平台性以及丰富的函数库成为网站开发的主流语言,而作为网站必不可少的数据库,轻量、开源、性能优良、简单易用的MySQL得到各个中小型企业的青睐。所以,PHP访问数据库技术就成为网站开发的一项基本且重要的工作。基于不同的环境、不同的工具,可以使用不同的MySQL数据库的访问方法。

1、面向对象的方法

(a)mysqli

通过MySQLi构造方法实例化一个MySQL连接对象,相当于建立了一个连接,后续代码完全使用面向对象的方法,使用该对象的成员函数操作MySQL数据库。

(b)PDO连接MySQL数据库

PDO是基于数据库抽象层的一种访问方法,基于不同的数据库的驱动运行不同的链接库进行数据库访问。同样适用面向对象的方法,创建PDO对象进行连接。

(c)ADODB连接MySQL数据库

ADODB同样是数据库抽象类。ADODB的数据库提供了共通的应用程序和所有支持的数据库连接,ADODB提供了很 比较实用的方法,使它超越了一个抽象层的功能。

2、面向过程的方法

面向过程的方法是PHP连接数据库最基本的方法,使用较为简单。其灵活性较差,在大型项目的开发中一般较少使用。 该设计提供了一个面向过程的接口,并且是针对MySQL4.1.3或更早版本设计的 。 因此 ,虽然也可 以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性。由于比较古老,安全性差,所以现在被后来的 mysqli 取代。

七、网站应用

网络技术正以突飞猛进的速度发展,而企业也要与时俱进,只有高度重视并充分利用网络技术,才能在实际运行过程中,让网络成为企业发展的助力。PHP语言作为网站开发的通用语言,简单易行,可移植性好,应用空间广泛,逐渐受到网站开发人员的欢迎。因此,在行业网站建设过程中,具有良好的应用前景。

与其他常用语言相比, PHP语言优势明显。较好的可移植性、可靠性以及较高的运行效率使 PHP 语言在当下行业网站建设中独占鳌头。利用 PHP 语言进行行业网站设计,能够实现数据库的实时性更新,网站的日常维护和管理简单易行,进而提高用户的使用效率。

PHP语言应用过程中,要求开发人员熟悉该语言,特别是软件版本、特性等诸多环节,否则容易造成冲突,使配置问题难以处理。因此,在网站开发设计过程中,应避免单独进行环境搭配。

八、展望

对于非常小的项目,PHP是一个十分符合人意的编程语言。 但是对于较大的和更为复杂的项目,PHP 就显出它的薄弱了。所以,针对PHP暴露出的一系列缺点问题,我们应当不断地摸索之后,然后找到某些问题的解决方案。一个开源的语言十分流行是一件好事。希望所有的问题能有一天得到解决,然后我们就将拥有一个开源语言,它既开源,又好用。

评论区

Copyright ©2020 www.itlaok.com All Rights Reserved.

粤ICP备19026741号-2