【发布时间】:2010-04-29 21:53:44
【问题描述】:
首先我应该说我现在不是,我也没有任何幻想我会成为一名专业程序员,所以我的大部分技能都是从经验中学到的,非常像一种爱好。
我学习了 PHP,因为它在某些领域似乎是一个很好的简单介绍,它使我能够设计简单的 Web 应用程序。
当我了解对象、类等时,导师的基本示例涵盖了这样一个想法,即根据经验,每个数据库表都应该有自己的类。虽然这对于我们编写的照片库项目很有效,因为它有非常简单的 mysql 查询,但现在我的项目变得越来越复杂,它的运行效果并不好。如果我需要来自两个需要表连接的单独表的数据,我会完全忽略该类并逐个处理它,或者,更糟糕的是,将一些数据合并到类中,其余的作为单独的实体并执行两个查询,这对我来说似乎效率低下。
例如,在查看我撰写的论坛上的内容时,如果您查看主题,我会从主题表、帖子表和用户表中检索数据。来自 user 和 posts 表的查询是通过连接检索的,而不是实例化为对象,而线程数据是使用我的 Threads 类调用的。
那么我如何才能从我目前的状况中得到一些不那么“愚蠢”的东西,因为我需要一个更好的词。现在我有一个处理连接和转义值等的数据库类,一个处理常见查询和方法的父数据库查询类,以及所有其他类(线程、上传、会话、照片和那些不是used Post, User 等)是它的子节点。
我是否要创建一个大型帖子类,其中包含我从用户(以及可能的线程)表中检索到的相关额外属性?
我是否有单独的类通过单个查询填充它们的每个相关属性?如果是这样,我该怎么做?
由于我的课程的编写方式,根据我所教的内容,我的数据库更新行方法或插入方法都只是将属性作为一个数组并更新所有这些,如果我在每个中都有其他数据库表的额外属性类,那么我该如何重写这些方法,因为那样会导致错误的自动更新?
简而言之,我认为我现在的理解是有限的,我想要一些关于如何编写更复杂类的基础知识的指导。
编辑:
感谢到目前为止的答案,他们给了我很多建议和想法以及很多阅读材料。不过,我想知道的是,不同的人如何决定处理带有任意数量类的简单表连接?您是否为类添加了属性?从类外查询然后将结果传递给每个类?还有什么?
【问题讨论】: