我已经用PHP编写了一段时间,但我一直主要使用函数和原始PHP进行编码。
我开始认为我应该更整洁,更有效地编写代码。我仍然无法理解课程。我应该在课堂上写下我的所有代码吗?
例如,我的一个脚本是“权限管理器” - 允许管理员编辑网站上各种用户组的权限。
传统上,我已经把它写成一个带有函数和诸如此类的脚本。但是把它写成课程会更好吗?如果是这样,这个类包含什么?我是否有一个单独的权限类可以在网站上使用,另一个用于管理编辑区吗?
此外,该网站还有一个API。这一切都应该写成一个类吗?
另外,我应该使用公共(共享)功能吗?
谢谢!
答案 0 :(得分:1)
在我看来,一切都取决于你的项目有多大。我曾经使用过Magento一段时间,而且它非常大,必须按类和数据包进行分组。如果将项目拆分为类,则更容易阅读代码并分析项目结构。此外,当您需要在一个月或一年后修改项目时,良好的结构有助于重新学习它。
答案 1 :(得分:1)
当属于和/或面向同一实体或建议的特定函数和变量集合要在不同环境中使用时,在类中编写内容是很有用的。它给人一种组织感,任务授权感,避免重复代码。
但在上述情况属实的情况下,它完全是一次性的。将课程写成只能在一个特定地方运行的东西是没有意义的。
此外,如果您只希望以类似对象的方式组织一组信息,例如$user->name
,$user->age
等,您可以这样做:
$user = (object)array(
'name' => 'John',
'age' => 20
);
答案 2 :(得分:0)
是的,在我看来,最好让OOP
中的代码更整洁,易懂,易读,而且维护起来会更容易,
请看这个堆栈:
https://stackoverflow.com/questions/4409824/what-are-the-advantages-of-object-oriented-php
答案 3 :(得分:0)
你应该从不同的角度来处理这个问题。不要只是因为你认为必须使用OOP。
问问自己:
我的应用程序中是否有可以在应用程序的其他部分重用的部分?然后这些可以从您的脚本中取出并放入函数或类中。
是否存在您希望交换部分代码以更改行为而无需重写应用程序主要部分的情况?那么类和接口适合你。
使用OOP原则的另一个好理由是提高了代码的可测试性。使用接口可以在测试时将实际对象替换为模拟或存根。