繁体   English   中英

最佳 OOP 实践 PHP/MySQL

[英]Best OOP Practices PHP/MySQL

我正在创建一个单词老师:

我创建了一个包含多个表的数据库:

TblTheme (themeId, name);<br>
TblGroup (groupId, name, themeIdFK);<br>
TblWeek (weekId, week, groupIdFK);<br>
tblWord (wordId, word, weekIdFK);<br>

所以 themeIdFK、groupIdFK 和 weekIdFK 是外键。

在 PHP 我想展示所有的主题。 如果按下主题,则显示所有组等。我应该创建哪些类。 (如主题、组、周和单词类)以及在不使数据库过载的情况下检索数据的最佳方法是什么?

首先,如果列包含相同的数据,那么它应该具有相同的名称:

Themes (theme_id, name);
Groups (group_id, name, theme_id);

然后当你创建 JOIN 时,你可以把它写成

SELECT 
   Themes.name AS theme,
   Groups.name AS group
FROM Themes 
LEFT JOIN Groups USING theme_id

至于你原来的问题:我会 go 类:

  • 老师-那将是您的 MVC model
  • Word - 由 model 使用,为您提供每日单词和一些关于它的附加信息
  • WordMapper - 负责存储和检索 Word class 的实例

基本上这个设置将实现DataMapper 模式

为每张桌子制作一个 class 是没有意义的,因为附加的表格只包含有关单词的信息。 至少我是这么看的。

不过,我不太确定您是否需要制作一个复杂的应用程序,只是为了制作日常用品……也许只是作为锻炼。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM