PHP:spl_autoload_register有什么好处?表现包括

时间:2012-08-06 16:08:44

标签: php performance oop autoload

我一直在阅读spl_autoload_register函数,以替换requirerequire_onceinclude和& include_once。虽然有很多关于如何实现这一点的讨论,但文档并不是太详细,也没有解释它如何对原始方式有益。

参考:http://php.net/manual/en/function.spl-autoload-register.php

我想知道spl_autoload_register是如何运作的?

使用spl_autoload_register时是否存在性能差异?

它如何处理交叉链接类中的许多require语句(超过20个)? (这不会导致重复需要吗?)

1 个答案:

答案 0 :(得分:8)

我从未测试过(或担心过)性能,但我始终使用自动加载器,因为它让您的生活变得更轻松。

有关实施,请参阅:https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

当您尝试访问某个类时会发生什么? Foo尚未加载文件。自动加载器将启动并尝试加载属于该类的文件。

这可以通过“正确”组织项目中的文件来轻松完成。假设您有一个类\Project\Http\Client(或“旧样式”非命名空间Project_Http_Client),它会尝试加载文件:Project/Http/Client.php