以下代码适用于使用PHP 5.3的计算机,而不适用于PHP 5.4:
function __clone() {
$this->changed = TRUE;
foreach ($this->conditions as $key => $condition) {
if (
$condition['field']
instanceOf QueryConditionInterface) {
$this->conditions[$key]['field'] = clone($condition['field']);
}
}
}
在这两种情况下, $condition
都没有“字段”偏移,但在PHP 5.3中,库继续工作而没有抱怨,但是在PHP 5.4中给出了此警告消息:
Warning: Illegal string offset 'field' in DatabaseCondition->__clone()
不久之后,图书馆(来自Drupal6)停止工作。
知道如何解决这个问题吗?
我是否应该使用isset($condition['field'])
,即使它是框架的核心库?