ID: 16591 Updated by: [EMAIL PROTECTED] Reported By: tthiery at yahoo dot de -Status: Open +Status: Closed Bug Type: Feature/Change Request Operating System: Linux/Win2k/whatever PHP Version: 4.1.2 New Comment:
__autoload() feature of PHP5 can be used for that. I tried the following code and it works. __autoload() is called when the class name is unkown. In this case the user is responsible for loading the class. p.php <?php function __autoload($cname) { var_dump('class name'.$cname); require_once $cname.'.class.php'; } function getInstance($cname) { require_once $cname.'.class.php'; return new $cname(); } if (!is_file('ser.dat')) { $a = getInstance("hello"); file_put_contents('ser.dat', serialize($a)); } else { $a = unserialize(file_get_contents('ser.dat')); } var_dump($a); ?> hello.class.php : <?php class hello { public $hello_var ="123"; function hello() { printf("hello contstructor\n"); } } ?> Previous Comments: ------------------------------------------------------------------------ [2002-04-13 14:09:42] tthiery at yahoo dot de I define classes in extra scripts like this one: File: hello.class.php <? class Hello { function print() { echo "Hello"; } } ?> I include and create them via a manufacturing function: $obj = myCreateObject("Hello"); myCreateObject lookup the file for Hello, include_once them, create the object and returns it. But then the problem: I store the object to session and when I unserialize the object in the next script, an error occurs. Clear, the class script file isn't loaded. Until now I do the serialize/unserialize via a trick (a register_shutdown_function store all of these objects AND their meta data like classname in one session var and in the next script all of them are unserialized manually). My Question: Is in the unserialize function and/or the session_decode function a possibility of a callback function like myLoadClass("Hello") for a serialized object (class Hello) ? And if the answer is a no: Hey PHP team it's an idea for a new function. ps I post this message already in the zend.com forum PHP into future ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16591&edit=1