【问题标题】:Which classes do I need to nice solve the problem?我需要哪些课程才能很好地解决问题?
【发布时间】:2009-09-23 08:48:14
【问题描述】:

我是面向对象的 php 新手,所以我不确定我需要哪些类来进行编程。我想写一个小程序,显示来自数据库的信息。上面有一个带有用户输入表单的网页,以及一些用于数据库输出的空间。用户可以输入一些东西,程序逻辑将查询数据库并做出一些输出。这就是全部。输出将使用 css 格式化。

我想以面向对象编程的最佳传统来写这个。我不确定班级组织。

谢谢

【问题讨论】:

    标签: php class


    【解决方案1】:

    我们真的不能确切地告诉你你需要什么课程。它会因您的设计而异。不过我可以告诉你,根据我的经验,那些刚接触 OO 编程的人通常不会创建足够的类。

    值得关注SOLID 以了解您的课程需要满足哪些标准。尤其是第一条原则(单一责任)。这基本上是说每个类都应该负责一个功能,并且它应该是唯一负责该功能的类。

    例如:您可以创建一个类来连接到您的数据库。这个类应该只处理数据库连接(它也不应该负责提供页面或身份验证或其他任何东西),所有到数据库的连接都应该使用这个类。

    【讨论】:

    • +1 表示 SOLID。 UncleBob 页面实际上似乎比维基百科有更好的信息:butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
    • 我可以将查询数据库的函数也放在 DB 类中吗?我应该将用于页面构建的函数放入一个类中,将用于处理用户输入的函数放入另一个类中?
    • 有许多模式可用于为您的查询创建对象。谷歌的两件事是存储库模式和查询对象模式。
    【解决方案2】:

    这里有一些提示:

    首先尝试连接到您的 MySQL 数据库。您可能需要创建一个类来处理此连接。

    前往 php.net 并查看带有“mysql”前缀的函数,以便了解如何处理。

    您可能还想创建一个类来处理表单。这真的取决于你。开始编码,然后尝试一下。随着时间的推移,你会更好地处理事情,但最重要的是要坚持下去。

    祝你好运!

    【讨论】:

    • 两个班够吗? DB 类和处理用户输入和所有输出的类?
    • 这取决于你想如何抽象你正在做的事情的不同方面。从一对或几个开始,你可能会意识到一个可以分成两个或几个。这一切都是为了对功能进行逻辑分组。
    【解决方案3】:

    这些类可以是: SQLConnection、SQLQuery、SQLQueryResultFormatter

    【讨论】:

      猜你喜欢
      • 2022-10-06
      • 1970-01-01
      • 2021-12-18
      • 2010-11-03
      • 2017-08-15
      • 2021-12-25
      • 1970-01-01
      • 2019-10-10
      • 2014-05-19
      相关资源
      最近更新 更多