在PHP中何时需要使用类

10

我是一个 WordPress 插件开发者。我看到许多插件的源代码,并且一些插件使用了“类”,有些则没有。

许多代码量巨大的插件像“wp-postratings”不使用类,而一些小型插件则使用类。

补充:由于类具有私有、公共和受保护的访问限定符,我感觉到安全性的增强。这会增加安全性吗?

除了 PHP,其他语言是否需要类?

必须使用类吗?我需要一些建议。


2
在你的开发人员生涯中,总会有一天你需要比函数更复杂的东西,它的名字叫做类! - Luca Filosofi
7个回答

17

不,它不是强制性的,也不会增加安全性。它只是一种不同风格的编程方式。

大多数程序员会同意,面向对象编程(类)比模块化编程(函数)具有许多优点。但这更像是一个我不想参与的宗教式辩论 :)


其实,你不需要类来实现面向对象编程 - 只是这样做会更容易。 - symcbean
@symcbean: 我一直认为类是面向对象编程的基本组成部分。你能举一个没有类的面向对象编程的例子吗? - Felix Kling
1
@Felix - 在像C这样的语言中,您可以使用结构体和函数指针模拟类的许多方面。您甚至可以使用联合或巧妙的结构对齐来模拟继承到一定程度。在许多C API中,您还会看到类似OO的东西。例如,在WIN32 API中使用句柄,其中您有不同类型的句柄,仅适用于某些类型的操作以及适用于所有类型句柄的操作等。 - Eric Petroelje
1
@Felix - Eric已经提供了我所想的答案 - 但你也可以考虑一下javascript的工作原理 - 它有真正的对象 - 但没有类。 - symcbean

5

您应该了解面向对象编程。虽然不强制要求使用类,但它可以使代码组织和维护更加容易。


最近我看了一个开发Web应用程序的教程。它使用类来实现登录和注册系统。那么,使用类可以增加安全性吗? - Aakash Chakravarthy
@Aakash Chakravarthy:不,它们并没有增加安全性。但是它们使得跟踪状态和分组功能变得更容易。例如,拥有一个User类来保存当前用户的所有信息要比使用许多全局变量容易得多。 - Felix Kling
3
使用类(或不使用)与安全无关,而与将程序组织成可重用且易于理解的代码块有关。 - Jean Hominal

2

显然这不是一个技术要求,但如果你的插件代码结构可以用两个或更多类来描述,我建议使用面向对象编程。这与安全无关,但可能会使你的代码更清晰、更易于维护。


2

正如Eric所说,这并非强制要求,也不会增加安全性。

然而,一个巨大的优势是它简化了前缀,并减少了重新声明函数导致错误的风险。

我总是尽可能使用面向对象编程。


1

除非你有充分的理由不使用类,否则我建议始终使用它们。使用类没有真正的缺点。


1

使用类并非强制性的,但它可以帮助你和其他开发人员更好地理解和修改你的代码。
在我看来,只要有必要,就应该使用类。


0

你不必一定使用面向对象的方式编写代码。在PHP中,你也可以编写过程式的代码。许多项目都是这样做的,Drupal如果我没记错的话就是其中之一。

最终来看,使用最适合手头任务的编程范式,无论是过程式、函数式还是面向对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接