Edit report at https://bugs.php.net/bug.php?id=61066&edit=1
ID: 61066
Comment by: daniel dot beardsley at gmail dot com
Reported by: arni at tsumi dot ru
Summary: clones an object if using
unserialize,spl_autoload_register
Status: Open
Type: Feature/Change Request
Package: SPL related
Operating System: FreeBSD
PHP Version: 5.3.10
Block user comment: N
Private report: N
New Comment:
It's pretty difficult to understand this without a reproducable testcase, but
it
sounds very similar to this bug: https://bugs.php.net/bug.php?id=62836
Previous Comments:
------------------------------------------------------------------------
[2012-02-12 22:37:21] arni at tsumi dot ru
Description:
------------
clones an object if using unserialize,spl_autoload_register. This confuses the
understanding of.
Test script:
---------------
spl_autoload_register(function($Class){
/* Include file */
});
/* File Core.php */
class Core{
public $field;
public function __construct(){
$this->field = time();
}
}
/* File Lite.php */
class Lite{
protected $Core;
public function __construct($Core){
$this->Core = $Core;
}
}
$Core = new Core();
if(!$Lite = $Cache->Load('Lite')){
$Lite = new Lite(); // Ok ...
}
echo $Core->field; // Ok ...
echo $Lite->Core->field; // Out null. $Core != $Core. $Core new object.
Expected result:
----------------
if($Core->field == $Lite->Core->field){
echo 'Ok!';
}else{
echo 'poorly';
}
Actual result:
--------------
$Core->field != $Lite->Core->field
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=61066&edit=1