PHP Autoloading Classes
2021-05-17 10:30
标签:evel interface each cat ssi init his gis http Many 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. The spl_autoload_register() function registers any number of autoloaders, enabling for classes and interfaces to be automatically loaded if they are currently not defined. By registering autoloaders, PHP is given a last chance to load the class or interface before it fails with an error. Tip http://php.net/manual/en/language.oop5.autoload.php PHP Autoloading Classes 标签:evel interface each cat ssi init his gis http 原文地址:http://www.cnblogs.com/lilei9110/p/7744678.html
Although the __autoload() function can also be used for autoloading classes and interfaces, it‘s preferred to use the spl_autoload_register() function. This is because it is a more flexible alternative (enabling for any number of autoloaders to be specified in the application, such as in third party libraries). For this reason, using __autoload() is discouraged and it may be deprecated in the future.
Note:
Prior to PHP 5.3, exceptions thrown in the __autoload() function could not be caught in the catch block and would result in a fatal error. From PHP 5.3 and upwards, this is possible provided that if a custom exception is thrown, then the custom exception class is available. The __autoload() function may be used recursively to autoload the custom exception class.
Note:
Autoloading is not available if using PHP in CLI interactive mode.
Note:
If the class name is used e.g. in call_user_func() then it can contain some dangerous characters such as ../. It is recommended to not use the user-input in such functions or at least verify the input in __autoload().
上一篇:PHP define()
下一篇:批量安装Windows服务器补丁
文章标题:PHP Autoloading Classes
文章链接:http://soscw.com/index.php/essay/86686.html