我有一些类,我可以从中创建对象。在__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() ?
}
}
谢谢!
答案 0 :(得分:1)
您需要取消设置已创建的对象。
不要在构造函数中执行此操作,在您创建obj的位置执行此操作。
集中此代码可以做的是构建Factory。你可以告诉那个工厂,你想要一个example
类型的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
}
}