我看到了两种处理PHP实例的一般方法。
例如,我们在系统中有用户。
$user_id = 5;
$u = new User($user_id); // fills in any and all info from the database
echo $u->getName();
echo $u->getEmail();
$user_id = 5;
echo Users::getName($user_id); // makes a call to the database
echo Users::getEmail($user_id); // makes a call to the database
这种方法暗示我有一个类Users
,它具有与用户相关的业务逻辑。它可以直接访问User
类,可以通过调用MySQL来执行CRUD操作。
答案 0 :(得分:1)
方法3
$user = UserDao::findById($id);
$user->getName();
我喜欢这种方法,因为您应该将模型与创建模型的工厂分开。
答案 1 :(得分:0)
如果要获得每个属性,执行查询以获取每个属性都很昂贵。因此,在这种情况下,您的方法1或@Amir的整体方法将是更好的选择。 这是一个权衡,通过一个数据库访问获得“一切”,以防您需要它而不是将大量内容存储在您可能不需要的内存中。 你的两种方法是一次性获得所有东西 或者根据需要获得每个。
基本上有两种选择 如果你还没有得到它, 总是得到“常见”的东西,当你需要的时候得到其他的东西。
或混合物总是得到这个,然后其他位如果你还没有得到它们。
没有硬性规定。您必须查看对象执行的操作以及它们的并发性。即session2可以在session1查看时更改person1的属性。这会导致错误,混淆或无关紧要。