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

WBOY
Freigeben: 2016-06-06 20:09:13
Original
836 Leute haben es durchsucht

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

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

回复内容:

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

问一下大家自动装载是自动加载的意思吗,就是会调用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>
Nach dem Login kopieren

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

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage