|
Autoloading ClassesMany developers writing object-oriented applications create one PHP source file per class definition. One of the biggest annoyances is having to write a long list of needed includes at the beginning of each script (one for each class). In PHP 5, this is no longer necessary. You may define an __autoload function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. By calling this function the scripting engine is given a last chance to load the class before PHP fails with an error. Tip
spl_autoload_register provides a more flexible alternative for autoloading classes. For this reason, using __autoload is discouraged and may be deprecated or removed in the future.
Example #1 Autoload example This example attempts to load the classes MyClass1 and MyClass2 from the files MyClass1.php and MyClass2.php respectively.
<?php Example #2 Autoload other example This example attempts to load the interface ITest.
<?php Example #3 Autoloading with exception handling for 5.3.0+ This example throws an exception and demonstrates the try/catch block.
<?php The above example will output: Want to load NonLoadableClass. Unable to load NonLoadableClass. Example #4 Autoloading with exception handling for 5.3.0+ - Missing custom exception This example throws an exception for a non-loadable, custom exception.
<?php The above example will output: Want to load NonLoadableClass. Want to load MissingException. Fatal error: Class 'MissingException' not found in testMissingException.php on line 4 |