Voting

: max(nine, five)?
(Example: nine)

The Note You're Voting On

m dot drewek at smf dot de
10 years ago
Please note that SplObjectStorage has a Bug introduced with 5.4.0, breaking object lookup in cloned instances of derived classes that overwrite getHash().

This is a confirmed Bug: https://bugs.php.net/bug.php?id=67582

Example:
<?php
class MyObjectStorage extends SplObjectStorage {
// Overwrite getHash() with just some (working) test-method
public function getHash($object) { return get_class($object); }
}

class
TestObject {}

$list = new MyObjectStorage(); // No issues if using "new SplObjectStorage()"
$list->attach(new TestObject());

foreach(
$list as $x) var_dump($list->offsetExists($x)); // TRUE

$list2 = clone $list;
foreach(
$list2 as $x) var_dump($list2->offsetExists($x)); // FALSE
?>

<< Back to user notes page

To Top