【问题标题】:PHP Framework OOP modelPHP 框架 OOP 模型
【发布时间】:2010-01-13 19:37:04
【问题描述】:

我认为我是一位经验丰富的程序 PHP 程序员。我已经实施了一些更大的项目。现在我想在较小的一个(数据库导入/导出框架+用户身份验证)上尝试 OOP PHP。因为我从来没有在这样的项目上尝试过 OOP,所以我在对象设计方面遇到了问题。

我想以这种方式实现框架,我只需要创建对象的一个​​实例即可使用整个框架。我还想保持代码的合理安排,所以我不会只为所有方法/属性实现一个类。

我怎样才能将一个大类分成几个小类以保持它们井井有条(在更多的 php 文件中)?

我认为我必须实现一个基类,然后使用其他基类对其进行扩展。但是这样我会有很多小班,而不是大班。

你会如何解决这个问题?

我希望我能很好地解释问题。

感谢您的帮助。

【问题讨论】:

    标签: php oop


    【解决方案1】:

    多年来,我一直在编写和维护庞大的单体库,自从我离开它后,我变得更快乐了。接受我的建议:将您的应用程序分解为尽可能有意义的小类。它有利于组织和内存使用(巨大的 PHP 类定义会占用大量 RAM,而 RAM 是 PHP 脚本中的有限资源)。

    使用 PHP 5 的 autoloading 机制仅加载当前上下文中需要的类。

    我认为Zend Framework 的组织和构建方式非常好。您可能想看看他们如何设计他们的类,以及他们如何组织框架中的大量功能。

    关于如何组织工具和帮助对象和库,我几周前asked that question 得到了很好的反馈。其实我还没看完。

    【讨论】:

    • Pekka,我喜欢你的回答,我注意到你在 SO 上的 PHP 标记中非常活跃......我看到你回答了我自己要回答的大多数问题 -只是更快。 :)
    • 干杯雅各!我想我已经遇到过你的几个答案,但情况恰恰相反:)
    • 感谢您的回答。对于框架程序员来说,将代码分成许多小类似乎是个好主意,但我不确定它是否对框架用户来说足够舒适。 (即使实现了自动加载功能)。用户将不得不初始化许多类的许多实例(在更大的框架的情况下)。这就是 Zend Framework 的工作方式吗?
    • 在查看您的问题时,我发现了问题的名称(单例模式)。正如你所说,也有很好的反馈。非常感谢。
    猜你喜欢
    • 2012-04-08
    • 2012-09-20
    • 2012-03-04
    • 2013-05-17
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多