'use' 关键字会触发 PHP 中的自动加载吗?
Does the 'use' keyword trigger autoloading in PHP?
在下面的示例中,自动加载器在什么时候加载 class 文件(如果有的话)?例如,如果 $boolean_test === false
是否加载了子包?
use Org\Group\Package\Subpackage; // autoloader triggered here?
if ($boolean_test) {
Subpackage::method(); // or here?
}
我更喜欢代码顶部附近的 use
语句,这样我可以看到页面中使用了哪些包,并且可读性稍好一些。但是,如果仅根据条件使用包,我可能会加载不需要的资源。
否 use
不触发自动加载。您可以在文件顶部设置无效的 use
,PHP 不会抱怨。
当您尝试使用 class.
时会自动加载
测试这个很容易:https://3v4l.org/OccF3
在下面的示例中,自动加载器在什么时候加载 class 文件(如果有的话)?例如,如果 $boolean_test === false
是否加载了子包?
use Org\Group\Package\Subpackage; // autoloader triggered here?
if ($boolean_test) {
Subpackage::method(); // or here?
}
我更喜欢代码顶部附近的 use
语句,这样我可以看到页面中使用了哪些包,并且可读性稍好一些。但是,如果仅根据条件使用包,我可能会加载不需要的资源。
否 use
不触发自动加载。您可以在文件顶部设置无效的 use
,PHP 不会抱怨。
当您尝试使用 class.
时会自动加载测试这个很容易:https://3v4l.org/OccF3