'use'关键字是否会在PHP中触发自动加载?

时间:2016-03-02 18:25:39

标签: php autoload

在下面的示例中,自动加载器在什么时候加载类文件,如果有的话?例如,如果$boolean_test === false是否加载了Subpackage?

use Org\Group\Package\Subpackage; // autoloader triggered here?
if ($boolean_test) {
    Subpackage::method(); // or here?
}

我更喜欢代码顶部附近的use语句,因此我可以看到页面中使用了哪些包,以及更好的可读性。但是,如果只使用基于条件的包,我可能会加载不需要的资源。

1 个答案:

答案 0 :(得分:6)

use不会触发自动加载。您的文件顶部可能包含无效use,PHP不会抱怨。

当您尝试使用该课程时,会发生自动加载。

测试这个很容易:https://3v4l.org/OccF3