0

次のコードは、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'])フレームワークのコア ライブラリであっても使用する必要がありますか?

4

0 に答える 0