在PHP中使用类有哪些有用的方法?

时间:2009-01-28 06:58:19

标签: php class

我已经学会了如何在PHP中使用类,到目前为止我只找到了一个有用的应用程序。我创建了一个用户类,用于在我的Web应用程序中执行与用户相关的各种任务,例如输出头像,显示消息数等。

除了这个例子,还有哪些其他有用的方法可以在实际意义上使用类?

7 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

阅读其他人的代码并了解他们如何将事物分成几类是一个非常好的主意。查看一些PEAR模块或框架(ZendSymfony,Cake)。

答案 2 :(得分:1)

任何时候你都可以定义一个“做东西”的“东西”,你就有了一个定义对象的候选者。从PHP标准库中可以立即想到的两个具体示例是:

  • 许多数据库模块使用对象进行连接,查询和访问。结果。
  • DateTime类使用input& amp封装了一个通用的时间概念。输出格式,时区转换和日期算术。

问题是,面向对象编程是一个很大的想法 - 你可以用面向对象的方式解决几乎所有的编程问题。

答案 3 :(得分:0)

我已经构建了一个实用类,它使mail()函数的使用变得人性化,我倾向于使用它。

答案 4 :(得分:0)

通过使用类(例如上面提到的PEAR包,其他类),您可以利用已经编写和测试的代码来执行常见任务。

也帮助你不要重新发明轮子。

答案 5 :(得分:0)

我强烈建议学习[设计模式] [1]。他们中的许多人很好地利用了类并解决了常见的编程问题。特别是工厂和抽象工厂模式是一个很好的起点。

还有一本名为PHP Hacks的优秀书籍,其中有一章介绍如何在PHP中实现一系列不同的模式,因此您可能需要检查它。

另外,在PHP中探索一些这些内置对象,看看它们是如何工作的并获得更多想法:

答案 6 :(得分:0)

  

我创建了一个用户类,用于在我的Web应用程序中执行与用户相关的各种任务,例如输出头像,显示消息数等。

查看http://en.wikipedia.org/wiki/Cohesion_(computer_science)

您的示例听起来像Logical cohesion。

旨在实现功能凝聚力。每个班级都会执行特定的任务,并尽可能将课程设为泛型,您会发现可以反复使用它们。

一个很好的例子,是Symfony的sfParameterHolder:

http://www.symfony-project.org/book/1_2/02-Exploring-Symfony-s-Code#chapter_02_sub_parameter_holders

Symfony使用它来保存视图模板的变量(在MVC中),在Web请求对象中存储请求参数(本身就是一个代表所有请求参数,尽职地去掉反斜杠等的类),在sfUser类中存储所有最终进入$ _SESSION等的参数

下载Symfony的“沙盒”,进入/ lib / symfony /文件夹并从中学习。这很复杂,但代码imho非常干净。

http://www.symfony-project.org/installation

Zend也很好,但是包含文件的数量可能非常多,我个人并不喜欢它们的命名约定,特别是使用下划线前缀。