我已经使用常规PHP一段时间了。我的正式代码培训为零。无论我学到了什么,我都可以在PHP文档站点上找到MySQL文档等。
我从头开始编写PHP。我将函数用于重新发生的任务,我使用MVC编写更易于维护的代码,最近我用一些函数编写了一个很好的小库,这样我就可以节省未来项目的时间。长话短说,不是某种大师,我与PHP有着良好的关系,到目前为止,它似乎已经为我完成了。
所以我的问题如下:为什么我要开始在PHP中编写面向对象的代码?它将如何使我的编程生活更好,为什么它比传统的做事方式更好?
答案 0 :(得分:9)
OOP旨在使编程语言更类似于现实生活。
我们生活在一个物体的世界里。您是一个对象(Person
),您居住在一个对象House
中,House
个对象(以及任何其他House
个对象)都有一个House::$address
和House::$number
,您的房子可能包含其他对象,例如LivingRoom
和Kitchen
。 Kitchen
可以保留Oven
和Stove
以及Refrigerator
,这些都是KitchenAppliance
对象的扩展。
OOP编程采用这种方法,并将其融入编程世界。
嗯,有几件事:
class
decleration定义一个对象,然后使用new ClassName()
关键字调用它。KitchenAppliance
可以扩展到Oven
或Stove
一样,您的对象和类也可以。 OOP编程具有许多优点。它需要稍微不同的思维方式,但最终,它是值得的。
答案 1 :(得分:3)
当然,您可以在不使用OOP的情况下编写代码,并尝试在不使用单个对象的情况下实现MVC等设计/模式。
我不想回答为什么要在OOP中编程。这可以在例如on this Stack Overflow question
我想您想知道您何时以及为何会因编码行为而失败:
还有许多问题肯定有可能解决,但每次你失去了其他人理解你的代码并在其他程序中重用它的可能性......
答案 2 :(得分:3)
你收到了很多全面的答案,所以我将使用一个论点:设计模式。 (http://en.wikipedia.org/wiki/Software_design_pattern)。
您可以找到公共问题解决方案的音调,这可以节省您的时间并提高代码质量。
一些设计模式示例:
弗兰基说,如果你想更好地了解OOP,你必须:
如果没有这个,你将使用封装在classess中的函数,比如命名空间,而不是OOP。
答案 3 :(得分:2)
一个词:凝聚力。
当您开始使用对象开发软件时(特别是当这些对象使用Dependency Injection时)时,您会发现常见功能开始被吸引到他们自己专用的类中,这些类被重用。这使得维护和增强软件MUCH更容易,并产生更高质量的软件。
示例:
许多应用程序使用会话来存储各种东西。当所有会话数据由专门的会话管理器类管理时,负责处理会话的所有代码都保存在一个地方。如果您想要更改应用程序使用会话数据的方式(可能是为了使其更安全或更高效),您只需要在一个地方更改代码。
三个月前我跳转到OOP PHP,这是我做过的最好的事情之一。
我从PHP Object-Orientated Solutions开始,刚刚完成Real-world Solutions for Developing High-quality PHP Frameworks and Applications。这两本书对我帮助很大,我强烈推荐它们。
学习曲线非常高。但我保证,你会很高兴你转向OOP。
答案 4 :(得分:0)
使用OO,您可以更快,更清洁地开发应用程序。您可以轻松地重用您的extisting类并扩展它们(减少您的代码库)。
使用OO设计,您只需要在任何时候处理小块代码,而不是在具有3000多行代码的文件中处理功能。你也应该照看 SOLID guidelines