tengawaakito 发表于 2009-9-4 10:17:16

如何调用使用类的静态方法?

本帖最后由 tengawaakito 于 2009-9-4 10:40 编辑

class ProductFactory
{
    static function products_factory($product_id)
    {
    }
}
用load导入的是实例吧?怎样用::符合?而且load的时候如果构造函数有参数的话,会出错,可以限制load不生成实例吗?自己使用new生成实例.

Hex 发表于 2009-9-4 11:10:33

那你就自己扩展 loader,实现装载静态类,CI 很容易扩展,不要局限于 CI 现有的功能,CI 现有的功能很少。

tengawaakito 发表于 2009-9-4 11:29:17

2# Hex
那load实例化问题也要自己扩展啊?可以限制它实例化吗?

visvoy 发表于 2009-9-4 13:00:49

既然不想用load的规则加载对象,那就按php的方法加载对象include 'xxx';$var=new xxx;

Hex 发表于 2009-9-4 14:17:29

loader 是不是实例化,你自己可以控制呀!扩展 loader 就可以完全控制,还是推荐楼主看一下 CI 源码,对你的项目有好处。

blacktear23 发表于 2009-9-4 17:00:45

CI中Loader加载一个Helper时就是include那个文件。如果你那个helper文件中有类和静态方法的话,直接用PHP中调用类的静态方法的语法就行了。
ClassName::MethodName(args...);

blacktear23 发表于 2009-9-4 17:01:49

还有,在用load方法时可以在最后加一个false,这样就不会创建实例了。
页: [1]
查看完整版本: 如何调用使用类的静态方法?