简洁理解PHP的面对对象编程方式_.docx

上传人:啊飒飒 文档编号:11640148 上传时间:2021-08-27 格式:DOCX 页数:5 大小:13.35KB
返回 下载 相关 举报
简洁理解PHP的面对对象编程方式_.docx_第1页
第1页 / 共5页
简洁理解PHP的面对对象编程方式_.docx_第2页
第2页 / 共5页
简洁理解PHP的面对对象编程方式_.docx_第3页
第3页 / 共5页
简洁理解PHP的面对对象编程方式_.docx_第4页
第4页 / 共5页
简洁理解PHP的面对对象编程方式_.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《简洁理解PHP的面对对象编程方式_.docx》由会员分享,可在线阅读,更多相关《简洁理解PHP的面对对象编程方式_.docx(5页珍藏版)》请在三一文库上搜索。

1、简洁理解PHP的面对对象编程方式_ 与大多数可以面对对象的编程语言不一样, PHP 是同时支持面对过程和面对对象的编程方式, PHP 开发者可以在面对过程和面对对象二者中自由选择其一或是混合用法,不过由于在 PHP5 之前的版本中, PHP 主要还是面对过程的编程语言,因此大多时候 PHP 开发者应当还是选择面对过程的方式进行开发,事实上, Kayo 认为即使一个 PHP 开发者完全不用法面对对象,他也能开发出很杰出的 PHP 程序,我们可以想象, Web 页面的解析本身就很过程化,在 HTML 中嵌入面对过程处理的代码是特别自然的手段,因此不能说面对对象是一种比面对过程更加优秀的编程方式,只

2、是另一种编程选择,当然这里说的是 PHP 中的状况。 对于 PHP 中面对过程和面对对象各自的优缺点,信任在网上稍查一下就会很清晰了,面对过程开发周期短,发布快,效率较高,面对对象开发周期长,效率较低但易于维护,改进,扩展和开发 API 。明显易见,我们很难说哪一个方式会更优秀,与其争辩哪一种编程方式更优秀,不如尽量发挥出两种编程方式各自的优势。 回到 PHP 的面对对象编程,在用法面对对象的过程中还是很简单就感受到它的优势,最明显的地方是代码功能更加清楚,数据处理,用户登陆,内容呈现等各写成一个类,在页面中只需包含这些类、实例化对象,然后再用简洁的语句应用对象就行,这与面对过程中把数据处理,

3、用户登陆,还有内容等部分写在一起相比,前者的编程思路确定更加清楚和易于理解,信任团队开发中应当更为偏向于面对对象编程。 下面举一个简洁的例子说明一下面对过程和面对对象两种方式各自的优缺点 在处理表单或接受 url 参数时,为了防止 SQL 注入等问题, PHP 开发者经常需要过滤字符串。 在面对过程的方式中,我们会在需要过滤字符串的语句中调用各种过滤字符串的库函数或自定义函数,这样下来,页面中就会消失许多不同的过滤函数甚至还有简单的正则表达式,即使在页面中写了足够的说明难免还是比较混乱,下面看看面对对象的处理方式。 首先是定义了一个简洁的处理字符串的类,把各种简单的字符串处理写成方法(关于 P

4、HP 面对对象的学问可以 Google ,本文不另外叙述。) ?php /* 字符串处理类 * 参数$length用作推断字符串是否超过指定长度 * 转义 SQL 语句中用法的字符串中的特别字符 * 正则限制字符串内只能为数字 * 推断字符串是否为空 * 推断字符串长度 */ / 创建字符串处理类 class StringFiltration / 属性 var $length; / 方法 / 构造方法 function _construct($the_length = NULL) $this-length = $the_length; / 转义 SQL 语句中用法的字符串中的特别字符 func

5、tion realEscapeString($the_string) return mysql_real_escape_string($the_string); / 正则限制字符串内只能为数字 function eregNumber($the_string) if( ereg(0-9+$,$the_string) ) return true; else return false; / 推断字符串是否为空 function strlenString($the_string) return strlen($the_string); / 推断字符串长度 function ifOverStrlenLe

6、ngth($the_string) if( strlen($the_string) $this-length ) return true; else return false; ? 然后在需要过滤字符串的页面中实例化该类。 $string = new StringFiltration(); 接着在过滤或推断字符串时调用类中定义好的方法,于是页面中会消失一些调用方法的语句。 $email = $string-realEscapeString($_POSTemail); $postId = $string-eregNumber($id); 在上面的例子中,我们可以看到,在面对对象处理字符串之前,我们必需定义一个类,然后再在需要的页面中实例化这个类并调用这个类中的方法,这里看来,面对对象的效率相比面对过程是低了,而且也很麻烦,不过这样的优势也很明显,实际处理或推断字符串的语句都写在类的内部,在调用方法的页面并不会消失各种简单的自定义函数和诸如正则表达式这样简单的语句,页面的结构乃至整个网站的结构更加清楚了,并且在写好一个类后,日后进行 PHP 开发时都可以再用法这个类,从长远来看效率反而高了。因此始终都在进行 PHP 面对过程编程的开发者不妨换种思路,试试面对对象。 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1