我想知道是否可以自动加载静态类,就像创建对象以动态自动加载库一样?我已经完成了 php autoloader 的大部分工作,但确实需要提示自动加载我不想为其创建对象的静态库。
有没有人有解决方案?请张贴或给我最好的想法来开发相同的。
谢谢
我想知道是否可以自动加载静态类,就像创建对象以动态自动加载库一样?我已经完成了 php autoloader 的大部分工作,但确实需要提示自动加载我不想为其创建对象的静态库。
有没有人有解决方案?请张贴或给我最好的想法来开发相同的。
谢谢
是的 SPL Autoloader 将加载类和接口。触发自动加载器后,您可以使用对自动加载资产的任何引用来触发加载
My_Special_Class::SOME_CONSTANT
将触发加载以及调用或引用任何可见的静态方法或属性。
事实上,利用这是触发命名空间函数的自动加载的一种方法。像这样定义一个类文件。
namespace My\Namespace;
abstract class Functions{
const LOADED = true;
}
function func1(){}
function func2(){}
function func3(){}
当您需要在 My\Namespace 中定义的函数时,在您的代码中
if (\My\Namespace\Functions::LOADED){
func1();
func3();
}
对抽象类的引用会触发自动加载器包含定义函数的文件。