如何在php中处理实体的空对象

时间:2012-07-16 20:57:14

标签: php design-patterns orm entity

我有一个Entity类,用于映射MySQL数据库中的记录。例如,继承Entity类的类User将映射表用户。

class User extends Entity
{
    function init(){ $this->_table = 'user';}
}

当我映射ID为30的对象时,我使用

$user = new User(30);

当对象ID 30不可用时处理的最佳方法是什么(假设它被删除)。

  1. 抛出异常,“此对象不可用”
  2. 返回一个空对象。
  3. 一个解决方案或一组有利弊的解决方案将不胜感激。

5 个答案:

答案 0 :(得分:1)

我喜欢在这种情况下使用异常,因为异常可能包含对象不可用的各种原因。一个你不知道的空对象。

答案 1 :(得分:1)

抛出异常意味着您的应用程序中出现异常情况。在我看来,具有特定ID的对象不存在并非特殊情况。我会去返回一个空对象。

抛出/捕获异常的机制伴随着性能损失。

答案 2 :(得分:0)

抛出异常。这样,无论您何时尝试构建User对象,都可以捕获它,并决定在那里做什么。

答案 3 :(得分:0)

我个人更喜欢返回带有错误代码属性的对象。

答案 4 :(得分:0)

在不了解程序设计的情况下很难说,例如这些“ID”的来源,生成方式等。
这里的优点/缺点是基于您的程序设计和您对给定情况的需求。一旦您评估了这些,您就可以确定最适合您的方式。