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

S.W*_*ker 3 php autoload

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

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

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

小智 7

use不会触发自动加载.您可以use在文件顶部出现无效,PHP不会抱怨.

尝试使用该类时会发生自动加载.

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