我知道symfony可以自动加载文件spl_auto_register
,但它够聪明吗?symfony的自动加载器是否足够聪明,只能加载必要的文件?
如果只有a.php是需要加载,它也会加载b.php?
我知道symfony可以自动加载文件spl_auto_register
,但它够聪明吗?symfony的自动加载器是否足够聪明,只能加载必要的文件?
如果只有a.php是需要加载,它也会加载b.php?
自动加载器将仅加载实例化所请求的类所需的文件。
自动加载机的工作原理是存储键值对的阵列,使得
classname => /full/path/to/class
在symfony的1.3/1.4的二级缓存文件被创建。一个用于核心类,由sfCoreAutoload创建,并存储在/cache/project.autoload中。对于在项目目录中自动加载的类,键值对的数组存储在/cache/_app_/_env_/config/config_autoload.yml.php中。该文件由配置处理程序sfAutoloadConfigHandler生成。
一些有用的点要记住:
你能证明吗? – user198729 2010-02-26 04:03:13
我已经看过它的代码,并没有找到这样的逻辑。 – user198729 2010-02-26 05:16:10
Symfony的自动加载器通过将类名映射到物理文件来工作。没有太多必要的逻辑。 – blockhead 2010-02-26 18:14:16