Php 为什么在自动加载函数上使用自动加载类?
PHP有一个内置的自动加载器寄存器spl_autoloader_register(),您可以在其中编写自己的自动加载器函数,就像我在下面所做的那样(您可以想到的任何改进都会很有帮助):Php 为什么在自动加载函数上使用自动加载类?,php,Php,PHP有一个内置的自动加载器寄存器spl_autoloader_register(),您可以在其中编写自己的自动加载器函数,就像我在下面所做的那样(您可以想到的任何改进都会很有帮助): 但我开始研究其他代码,发现人们使用autoloader类而不是内置的PHP autoloader函数:这是为什么?来自: 提示spl_autoload_register()为自动加载类提供了更灵活的选择。因此,不鼓励使用_autoload(),将来可能会被弃用或删除 因此,答案实际上是,你正在以推荐的方式做这
但我开始研究其他代码,发现人们使用autoloader类而不是内置的PHP autoloader函数:这是为什么?来自:
提示spl_autoload_register()为自动加载类提供了更灵活的选择。因此,不鼓励使用_autoload(),将来可能会被弃用或删除
因此,答案实际上是,你正在以推荐的方式做这件事。您正在查看的代码可能是遗留代码,因为在spl\u autoload\u register()
之前就有了\u autoload()
请注意,如果您希望尽可能使用OO,也可以使用静态类函数进行自动加载:
class MyClass {
static function myloader($name) {
require_once($name.'.php');
}
}
spl_autoload_register('MyClass::myloader');
即使有人正在使用autoloader对象,它仍然使用内置的autoloader函数进行注册,因此它不是“代替”。
class MyClass {
static function myloader($name) {
require_once($name.'.php');
}
}
spl_autoload_register('MyClass::myloader');