我有以下数据表: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/