Greetings, all. I am trying to figure out a way to implement the following logic, but I am not sure if it is possible to do so without a lot of additional side work: I have a class, A, and another class B that extends A. They live in separate files. The logic I need to implement is as follows: if (class_exists('B')) { $foo = new B(); } else { $foo = new A(); } That is all well and good if both A and B are already loaded and parsed, but I am using spl_autoload to lazy-load classes as needed. That means the class_exists() call will return false if B exists but hasn't been included yet. What I would like to happen is for PHP to include B if it exists or give a non-fatal error if it doesn't so that I can instantiate A instead. Ideally, the logic would be something like the following: try { $foo = new B(); // Try to autoload B, throw exception if it can't. } catch (ClassDoesntExistEvenAfterRunningThroughAutoloadException $e) { $foo = new A(); // May autoload A at this point, too. } // do stuff with $foo However, as far as I am aware $foo = new B(); will cause a fatal exception if autoload doesn't find a B. Does anyone know of a way to achieve the above effect? This is specifically for PHP 5.2 and later. Thanks. -- Larry Garfield larry@xxxxxxxxxxxxxxxx -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php