1

我想知道是否可以自动加载静态类,就像创建对象以动态自动加载库一样?我已经完成了 php autoloader 的大部分工作,但确实需要提示自动加载我不想为其创建对象的静态库。

有没有人有解决方案?请张贴或给我最好的想法来开发相同的。

谢谢

4

1 回答 1

2

是的 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();
}

对抽象类的引用会触发自动加载器包含定义函数的文件。

于 2013-07-27T07:14:39.407 回答