首页 >后端开发 >php教程 >关于命名空间下php类加载的问题

关于命名空间下php类加载的问题

WBOY
WBOY原创
2016-06-06 20:09:13873浏览

<code><?php namespace A;
use B\D, C\E as F;
new B();    // 创建命名空间 "A" 中定义的类 "B" 的一个对象
            // 如果未找到,则尝试自动装载类 "A\B"</code></code>

问一下大家自动装载是自动加载的意思吗,就是会调用spl_autoload_register()之类的函数。

回复内容:

<code><?php namespace A;
use B\D, C\E as F;
new B();    // 创建命名空间 "A" 中定义的类 "B" 的一个对象
            // 如果未找到,则尝试自动装载类 "A\B"</code></code>

问一下大家自动装载是自动加载的意思吗,就是会调用spl_autoload_register()之类的函数。

这里的自动装载应该就是自动加载的意思。 但是spl_autoload_register并不是在new B()的时间才调用的 -- 而应该是之前就已经调用了的。new B()的时候自动加载只是按照先前注册的顺序调用通过spl_autoload_register注册的自动加载器。

比如,先前有这样注册过两个自动加载器:

<code class="php">spl_autoload_register(foo);
spl_autoload_register(bar);</code>

那么在new B()的时候会先调用foo后调用bar...

更多关于spl_autoload_register的信息请参考: http://php.net/manual/zh/function.spl-autoload-register.php

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn