作者:小角落哭泣的身影 | 来源:互联网 | 2014-05-06 08:26
本文针对的读者本文针对盼看懂得PHP中有关面向对象与面向过程两种编程方法的读者,包含新手和老手。假设读者对PHP及类的应用有必定程度的熟悉。简介“真正的天才具有准确评价
本文针对的读者
本文针对盼看懂得PHP中有关面向对象与面向过程两种编程方法的读者,包含新手和老手。假设读者对PHP及类的应用有必定程度的熟悉。
简介“真正的天才具有准确评价不断定的,有风险的和抵触的信息的才能。--邱吉尔”
应用很多编程语言时,你通常只能应用面向对象或面向过程二者之一的编程方法。而在PHP中,你可以自由选择或混用。目前尽大多数PHP程序员应用面向过程的方法,由于解析WEB页面本身就非常“过程化”(从一个标签到另一个标签)。在HTML中嵌进过程处理代码是很直接自然的作法,所以PHP程序员通常应用这种方法。
假如你是刚接触PHP,用面向过程的作风来书写代码很可能是你唯一的选择。但是假如你经常上PHP论坛和消息组的话,你应当会看到有关“对象”的文章。你也可能看到过如何书写面向对象的PHP代码的教程。或者你也可能下载过一些现成的类库,并尝试着往实例化其中的对象和应用类方法--尽管你可能没有真正懂得这些类为什么可以工作,或者为什么需要应用面向对象的方法来实现功效。
应当应用“面向对象”的作风还是“面向过程”的作风?双方各有支撑者。像“对象是低效的”或“对象非常棒”这样的议论也时有耳闻。本文不尝试轻易判定两种方法的哪种具有尽对的上风,而是要找出每种方法的优毛病。
以下是面向过程作风的代码示例:
以下是面向对象作风的代码示例:
myPrint();
?>
假如你想懂得一些“面向对象”的基础知识,请应用Google搜索,网络上有非常多出色的文章。
谁像这样写代码?为了懂得为什么这个论题成为论坛上口水战的引火线,我们看一些每个阵营的比拟极真个例子。我们看看“过程狂热”和“对象狂热”。看看他们的观点听起来是不是有点熟悉。
过程狂热过程狂热曾在上课时被盘算机教师批评,由于这种方法没有应用更加抽象的实现方法。而支撑面向过程者的观点“它可以工作!”并不能提高其编程程度和档次。毕业后他们可能找到一个工作,写驱动程序,文件系统或其它的偏向底层的编程,他们的留心力集中于速度和代码的精炼。
“过程狂热”极真个例子是抵制对象,抵制抽象化。他们总在想着如何让程序运行起来更快,而不在乎别人是否能读懂他们的代码。他们经常把编程当成比赛而不是团队运动。除了PHP外,他们最爱好的编程语言是C和汇编。在PHP世界中他们可能会开发PECL模块,贡献出高效率的代码。