php - 嵌入数据库对象可以吗?

标签 php database oop class

我有以下数据表:users、user_pictures、messages、forum。概述它的结构:

forum
users
 user_pictures
 messages

因为如果没有用户,则没有 user_pictures 也没有消息。现在我想在我的类中构建这种结构化逻辑。我为每个表使用一个独立的类来根据表执行操作。通常它看起来像这样:

$forum = new Forum();

$users = new User();

$messages = new Message();

$user_pictures = new User_picture();

但是如果我在用户的构造函数中创建消息和用户图片怎么办?它的引用也会在那里。可以吗?

最佳答案

but what if if I create messages and user_pictures in the constructor of users?

你不应该在构造函数中创建任何东西。那将在 ctor 中完成工作,并且还将创建图与协作者图混合。如果要组装复杂的对象图,请使用构建器或工厂模式。如果您需要在协作者中创建一些东西,请将工厂或构建器的实例传递给协作者。 But dont do work in a constructor.

至于你的问题的其余部分:这个 can be answered the same as your previous question .使用自定义 DataMapper 和/或存储库和/或 ORM。不要按照 RDBMS 结构对类建模。

关于php - 嵌入数据库对象可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900699/

相关文章:

php - 在 PHP 中创建多级类

php - 如何组合 3 个数组

php - 高效的mysql查询产品目录

java - 动态向数据库表添加列?

database - 结合使用关系数据库和键值存储

mysql - 标签系统的可扩展性

matlab - Octave 无法识别 .m 文件中的更改

language-agnostic - 我应该使用像 IEnumerable 这样的接口(interface),还是像 List<> 这样的具体类

c++ - 是否在 C++ 头文件中声明类属性时遇到困难?

php - GET 和 POST 在同一个页面上?