2013-03-13 46 views
1

我一直在用PHP编写一段时间,但我一直主要使用函数和原始PHP进行编码。PHP:我应该把所有的代码写在类中吗?

我开始认为我应该把我的代码写得更整洁更高效。我仍然无法全神贯注于课堂。我应该在课堂上写所有的代码吗?

例如,我的一个脚本是'权限管理器' - 它允许管理员编辑站点上各种用户组的权限。

传统上,我会把它写成只是带有函数和whatnot的脚本。但是把它写成一堂课会更好吗?如果是这样,这个班级将包含什么?我有一个单独的权限类用于网站,另一个用于管理编辑区域?

该网站还有一个API。这一切应该写成一个班级吗?

另外,我应该使用公共(共享)功能吗?

谢谢!

+4

你应该得到一本关于面向对象设计的书,并考虑如何将它应用于网页开发。在一个类中保存你的代码不会让你的代码更加有组织。这个话题太广泛了,不能在这里回答一个问题。 – 2013-03-13 21:37:59

+0

我认为这种讨论更适合聊天。 OOP在正确的背景下非常棒,但是要回答这个问题,简而言之,“你应该写*全部*你的代码......”可能不是 - 你可以过度设计一个问题。 – Emissary 2013-03-13 21:40:03

+0

我的答案是肯定的,但这不是一个单一答案的问题,所以这不适合这个讨论。 – IMSoP 2013-03-13 22:02:56

回答

1

在我看来,一切都取决于你的项目有多大。我一直在使用Magento一段时间,它太大了,它必须分组在类和数据包。如果项目被拆分成类,则更容易阅读代码并分析项目结构。此外,当您需要在一个月或一年后修改您的项目时,良好的结构有助于重新学习它。

1

当在不同的环境中使用属于和/或面向相同实体或建议的特定功能和变量集时,在类中编写东西是有用的。它给人一种组织感,任务授权并避免重复代码。

但是,在上述情况是错误的,它是完全一次性的。 Theres没有意义的写一个类只能在一个特定的地方运行。

另外,如果你只是想有一组在类似对象的风格像$user->name组织的信息,$user->age等您可以简单地这样做:

$user = (object)array(
    'name' => 'John', 
    'age' => 20 
); 
+1

重新您的最后一个代码片段,为什么打扰到一个对象? PHP数组可以做所有的无类对象,通常更有效。 – IMSoP 2013-03-13 22:00:27

+0

主要是为了看起来。代码变得更可读。 – Havenard 2013-03-13 22:10:20

+0

呃。我猜,味道很重要,但是'$ user ['name']'对我来说很好。 – IMSoP 2013-03-13 22:14:15

0

您应该接近从这个问题不同的角度。不要只是使用面向对象,因为你认为你必须。

问自己:

  1. 有没有我可以在我的应用程序的其他部分重用我的应用程序的部分?然后这些可以从您的脚本中取出并放入函数或类中。

  2. 是否有一种情况下,您想要交换代码的某些部分来更改行为而不必重写应用程序的主要部分?然后,类和接口是为你。

使用OOP原则的另一个好的理由是提高了代码的可测试性。使用接口允许您在测试时交换模拟或存根的实际对象。

相关问题