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

Reply via email to