【问题标题】:Help Understanding Object Orientend Programming OOP帮助理解面向对象编程 OOP
【发布时间】:2011-02-09 06:37:47
【问题描述】:

我已经在几个网站上阅读了有关 OOP 的内容并正在寻找(所以我发现很难找到任何显示完整 OOP PHP 应用程序的体面示例的内容。他们使用汽车提供示例,但它不会引起共鸣关于有一天将它投入实际使用,我很赞同。

谁能给我展示一个可以在真实网站场景中使用的 OOP 的完整示例。我知道我可能会要求很多,但这确实会有所帮助。

或者是否有一个图表显示了方法、类、对象、构造函数等之间的真实关系。

我知道这并不容易解释,但希望能尝试一下。

提前致谢

【问题讨论】:

  • 它是“面向对象”,而不是“面向对象”。 :P
  • “一个很好的完整示例”超出了本网站的范围。如果找不到好的教程,就买一本像样的书。

标签: php oop


【解决方案1】:

如果您将“汽车”更改为网络上更熟悉的名称会怎样?

$post = new BlogPost();
$post->setTitle($_POST['title']);
$post->setBody($_POST['body']);
$post->setTags($_POST['tags']);
$post->save();

同样的想法。您有一个 BlogPost 类,它封装了博客文章的表示和操作。它隐藏了诸如在保存帖子时将用户以逗号分隔的标签列表转换为标签表中的单独行之类的内容,以及保存帖子的方式。您可以从将它们保存为文本文件切换到将它们保存在数据库中,而无需像上面那样更改您阅读或撰写帖子的所有代码。

【讨论】:

    【解决方案2】:

    您可以尝试使用SymfonyYii。您将在其中进行 OOP,而且它们都有示例应用程序,您可以快速开始使用。

    【讨论】:

    • +1 不是因为特定框架的推荐,而是因为理解 OOP 的最简单方法是使用现有的 OOP 应用程序,而不是从头开始编写自己的应用程序。
    【解决方案3】:

    Bruce Eckel 的免费书籍“Thinking in Java”包含对面向对象世界的精彩介绍(第 1 章)。虽然它包含一些 Java 参考,但您稍后会发现 OOP 的概念基础在 C++、Java、PHP 或任何其他现代编程语言中是相同的。

    【讨论】:

    • 谢谢,介绍才进行到一半,看起来已经很有希望了。我真的会读整本书。感谢安德拉斯的建议。
    • @Glacius:很高兴它也适合你。当我试图深入了解多态性或继承等抽象概念时,这本书肯定对我有很大帮助。
    【解决方案4】:

    我认为这些书可以作为一个很好的起点

    PHP 对象、模式和实践,第二版

    http://www.apress.com/book/downloadfile/3872

    PHP 在行动

    http://www.manning.com/reiersol/

    【讨论】:

      猜你喜欢
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多