ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:23.06KB ,
资源ID:24577809      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24577809.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(三个PHP高手应预备的准则.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

三个PHP高手应预备的准则.docx

1、三个PHP高手应预备的准则成为PHP编程高手应该遵循的三个准则PHP是一门高效的网络编程语言,由于它具有编写灵活、运行快速等优点,迅速成为Web程序员的首选语言。前不久的一份权威调查表明,现在已经有31.6的网站使用PHP作为主要的服务器端编程语言。但是,要成为一名PHP编程高手却并不容易。并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题。以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则。 1.懒惰是金 2.编写漂亮的代码 3.追求程序的速度,而不是编程的速度 一、懒惰是金做一个懒惰的程序员

2、吗?这个想法太奇怪了!因为这个世界上最忙碌的人可能就是计算机程序员了。但正是因为程序员太忙了,所以才应该在编程时学会偷懒。 对于一个程序员来说,懒惰的方法有两种:其一,大胆使用现成的别人的程序代码,把这些代码融入到你自己的程序或者项目中去。其二是编写一些有用的代码建立一个函数库,在将来编写程序时可以顺手拈来,省去了许多重复的劳动,自然就可以懒惰一点了。这两种偷懒的方法都非常适合PHP程序员了。首先,PHP是在自由开放的环境中诞生和成长的一门语言。在世界各地,有成千上万的程序员,他们一直在为PHP的完美而不断奋斗,他们也愿意和别人分享自己的聪明才智和自己编写的代码。你每天都可以从一些PHP网站、

3、邮件列表、新闻组发现大量的优秀的程序代码。这样说,我并不是鼓励你整天等着让别人为你编写代码,但是你可以“站在伟人的肩膀上”,充分发扬“拿来主义”,聪明地应用别人的程序代码可以节省你大量时间。其次,在PHP中,你可以方便地建立自己的函数库,这样可以在你以后编写程序时省去很多麻烦。 下面笔者为大家介绍几个通用的函数,这些函数有的来自网上的一些开放源代码的项目,有的精选自邮件列表。如果你能把它们加入到你自己的函数库中,迟早你将会发现自己受益无穷。 1.通用数据库处理函数 和其它的CGI函数相比,PHP的优点之一是具有很强大的数据库处理能力。但是,在PHP中,对于不同的数 防锈油 据库都使用一些特定的

4、函数来专门处理,缺少通用的数据库处理函数。这大大降低了程序代码的可移植性,这也为初学编程的朋友带来了很多不便。 在网上,许多程序员都通过封装类解决了这个问题。他们编写了统一的函数用来处理任何流行的数据库不管是徐州搬家公司 在Linux世界深受欢迎的Mysql还是在Windows平台上广泛流行的SqlServer。就笔者个人来说,非常喜欢使用这些函数,因为可以直接使用一些简单的诸如query、next_record之类的函数,而不需要考虑数据库的连接、数据库句柄这些复杂的东西,更不需要考虑使用的是何种数据库。2.变量调试函数 PHP程序的调试一直是一件让人头疼的事,它既不像VB等高级语言那样有集

5、成的编译调试环境,也不想Perl那样可以在Linux或者DOS环境下直接运行。其实,我们完全可以通过灵活地使用echo语句来迷宗蟹 完成对PHP的调试工作。 下面的几个函数可以让你随时查看程序中任何变量的类型及其值。 以下为引用的内容:function ss_array_as_string (array, column = 0) str = Array( n; while(list(var, val) = each(array) for (i = 0; i ; str .= ss_as_string(val, column1). n; for (i = 0; i classname) retu

6、rn object; else str = objectclassname.( n; while (list(,var) = each(objectpersistent_slots) for (i = 0; i ; str .= ss_as_string(var, column1). n; for (i = 0; i 0, ERROR = 1, INFO = 2, DEBUG = 3); function ss_log_set_level (level = ERROR) global ss_log_level; ss_log_level = level; function ss_log (le

7、vel, message) global ss_log_level, sslogfilename; if (ss_log_levelsss_log_level connect(); ss_timing_start(); thisQuery_ID = mysql_query(Query_String,thisLink_ID); ss_timing_stop(); ss_log(INFO, ss_timing_current(). Secs .Query_String); thisRow = 0; thisErrno = mysql_errno(); thisError = mysql_error

8、(); if (halt_on_error !thisQuery_ID) thishalt(Invalid SQL: .Query_String); return thisQuery_ID; 二、编写漂亮的代码 1.将后台程序与前端程序分开 在编写PHP程序时,有些代码是用来处理一些事务,例如操作数据库、进行数学运算等,而另外的一些代码则只是事务处理的结果显示出来,例如一些使用echo语句将结果以HTML的格式显示在Web浏览器上的PHP代码以及那些直接嵌入PHP程序的HTML代码。首先我们应该清晰地区分这两种代码,把前者称为后台程序,把后者称为前端程序。 因为PHP是一种嵌入式编程语言,也就

9、是说,所有的PHP代码都可以嵌入到HTML代码之中,这为程序的编写带来了许多便利之处。但是,“物极必反”,如果在一段较长的程序中将PHP代码和HTML代码混合编写,这将使程序杂乱无章,不利于程序的维护和阅读。所以我们需要尽可能地将这些程序中混杂于HTML代码中的PHP代码移植出来,在专门的文件中将这些代码封装成函数,然后在HTML代码中使用include语句来包含这些文件,在适当的位置调用这些函数即可。 这种做法一方面使HTML代码和PHP代码都简单易读,另一方面因为HTML代码需要不断更新,而这种分离的方法可以确保后台程序不会被破坏。 同前端程序不同,后台程序更多追求的是稳定、结构化,极少更

10、改,所以应该认真地设计和管理。其实,在设计台程序时,投入大量时间是值得的,“现在栽树,以后乘凉”,在以后的设计工作中将可以轻松地使用现在编写的后台程序。 2.灵活使用包含文件 正如前面所说的那样,后台程序应当安排在一系列的包含文件中。包含文件可以通过include语句在需要时动态装入,也可以在php.ini文件中通过使用auto_prepend_file指令预先自动装入。如果使用后一种方法的话,虽然取得了一劳永逸的好处,但是也有一些缺点值得我们注意。下面的一段代码向我们展示了解析一个庞大的包含文件需要一定的时间: 以下为引用的内容:require(timing.inc); ss_timing_

11、start(); include(test.inc); ss_timing_stop(); echo .ss_timing_current(). ; ? 在上面的代码中,test.inc是一个1000行的包含文件,运行的结果显示,解析这个包含文件花费了0.6秒钟,对于一个大型网站来说,这个速度并不是可以忽略不记的。 使用包含文件的另外一个缺点是:如果一个文件中的一个语句发生错误,将会使整个网站的PHP程序都无法运行。所以使用起来也及其小心。 其实,对包含文件稍做处理,即可以使包含文件只在需要时进行解析。下面的代码使abc.inc文件只在程序需要时才作解析: 以下为引用的内容:if ( defi

12、ned( _LIBA_INC) ) return; define( _LIBA_INC, 1 ); / 代码. / ? 3.使用面向对象的编程方法 PHP也是一种面向对象的语言,面向对象的编程方法是优秀的程序员们非常推崇的一种软件设计方法,在PHP编程中可以充分发挥面向对象语言的优势,对编程中的对象进行封装。在前面的代码中,我们使用了面向对象的方法,例如在管理数据库时,我们将query()函数封装进数据库类中,这极大地方便了代码的管理,增加了程序的可读性。 三、追求程序速度,而不是编程的速度 在网站建设中,程序运行速度和网页下载速度都是关系成败的重要因素。作为一名Web程序员,应该更加注意代码

13、的运行速度。下面介绍的几种方法都在不同程度上提高了代码的运行速度。 1.使用内嵌的HTML代码,而不是PHP的echo语句。 因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入。但是很多程序员担心在HTML代码中过多的使用嵌入PHP代码会多次调用PHP解释器,从而降低了PHP代码的运行速度,所以宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码。但事实却恰恰相反。每一个PHP页面只调用一次PHP解释器来解释所有的PHP代码,所以,只在需要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,不但不会降低程序的运行速度,而且因为减少了对e

14、cho语句的解析,往往可以提高代码的运行速度。下面的一段代码证明了我们的结论。在这段代码中,我们使用了前面介绍的时间测试函数。 使用strreplace而不是eregreplace 习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的这段代码证明,使用str_replace 代替 ereg_replace将可以大大提高代码的运行速度。 以下为引用的内容:测试str_replace和ereg_replace的运行速度 /这段代码测试str_replace的运行速度 emph

15、asis; ? for (i=0; i, b, string). ; ? /这段代码测试ereg_replace的运行速度 for (i=0; i1000; i) ereg_replace(, , string). ; ? /打印结果 结论 使用str_replace的时间 使用ereg_pattern的时间 运行上面的代码,得到的结果是: 使用str_replace的时间 0.089757 使用ereg_pattern的时间 0.248881 从运行的结果我们可以看出使用str_replace替代ereg_replace作为字符串替换函数,极大地提高了代码的运行速度。 3.注意字符串的引用

16、PHP和其它很多编程语言一样,可以使用双引号()来引用字符串,也可以使用单引号()。但是在PHP中,如果使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。如果是单引号,则没有如此复杂直接将单引号包含起来的所有字符串直接显示出来。显然,在PHP编程中,如果使用单引号引用字符串变量要比使用双引号快速一些。 4.在数据库中避免使用联合操作 比起其它的Web编程语言来说,PHP的数据库功能十分强大。但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作,同时应该为数据库建立适当的索引。另一

17、件值得注意的事情是在用PHP操作数据库时,尽可能不使用多个数据表的联合操作,尽管联合操作可以增强数据库的查询功能,但是却大大增加了服务器的负担。 为了说明这个问题,我们可以看看下面的这个简单的例子。我们在数据库中创建了两个数据表foo和big_foo。在数据表foo中,只有一个字段,包含了从11000之间的所有自然数。数据表big_foo同样只有一个字段,但包含了从11,000,000之间的全部自然数。所以,从大小上说,big_foo等于foo与它自身进行了联合操作。 以下为引用的内容:dbquery(select from foo); 0.032273 secs dbnext_record(

18、); 0.00048999999999999 secs dbquery(insert into foo values (NULL); 0.019506 secs dbquery(select from foo as a, foo as b); 17.280596 secs dbquery(select from foo as a, foo as b where a.id b.id); 14.645251 secs dbquery(select from foo as a, foo as b where a.id = b.id); 0.041269 secs dbquery(select fro

19、m big_foo); 25.393672 secs 从上面操作结果我们可以发现,对于两个有1000条记录的数据表进行联合,其速度并不比对一个1000000条纪录的大型数据表单独进行操作快多少。 5.注意include与require的区别 在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量somgthing为真,则将包含文件somefile: 以下为引用的内容:if(something) include(somefile); 但不管somethi

20、ng取何值,下面的代码将把文件somefile包含进文件里: if(something) require(somefile); 下面的这个有趣的例子充分说明了这两个函数之间的不同。 i = 1; while (i 3) require(somefile.i); i; 在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include(): i = 1; while (i 3) include(somefile.i); i; 6.注意echo和print的区别 PHP中echo和print的功能也基本相同,但是两者之间也有细微差别。在PHP代码中可以把pri

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1