0

我有一些创建对象的类。在 __construct 函数中,我检查属性。如果它们不匹配,我想删除创建的对象。

$example = new example('Value 1', 2, false);


foreach (get_object_vars($this) as $propertie => $value) {
    if (empty($value)) {
        // unset(); What i have to insert in unset() ?  
    }
}

谢谢!

4

1 回答 1

1

您需要取消设置创建的对象。

不要在构造函数中执行此操作,而是在创建 obj 的位置执行此操作。

要集中这些代码,您可以做的是构建一个Factory。然后你可以告诉那个工厂你想要一个example具有这些属性 set的类型的 obj val1, val2, val3...

然后工厂将运行下面的代码并在一切正常的情况下返回 obj,如果不是,您可以发出一条错误消息来解释发生了什么问题,例如属性未设置或其他什么。然后你就可以对它做出适当的反应。

$example = new example('Value 1', 2, false);

foreach (get_object_vars($example) as $propertie => $value) {
    if (empty($value)) {
        unset($exampe);
        break; //This stops the foreach
    }
}
于 2014-08-14T12:02:26.003 回答