用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5027|回复: 6
收起左侧

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

[复制链接]
发表于 2009-9-4 10:17:16 | 显示全部楼层 |阅读模式
本帖最后由 tengawaakito 于 2009-9-4 10:40 编辑

class ProductFactory
{
    static function products_factory($product_id)
    {
    }
}
用load导入的是实例吧?怎样用::符合?而且load的时候如果构造函数有参数的话,会出错,可以限制load不生成实例吗?自己使用new生成实例.
发表于 2009-9-4 11:10:33 | 显示全部楼层
那你就自己扩展 loader,实现装载静态类,CI 很容易扩展,不要局限于 CI 现有的功能,CI 现有的功能很少。
 楼主| 发表于 2009-9-4 11:29:17 | 显示全部楼层
2# Hex
那load实例化问题也要自己扩展啊?可以限制它实例化吗?
发表于 2009-9-4 13:00:49 | 显示全部楼层
既然不想用load的规则加载对象,那就按php的方法加载对象include 'xxx';$var=new xxx;
发表于 2009-9-4 14:17:29 | 显示全部楼层
loader 是不是实例化,你自己可以控制呀!扩展 loader 就可以完全控制,还是推荐楼主看一下 CI 源码,对你的项目有好处。
发表于 2009-9-4 17:00:45 | 显示全部楼层
CI中Loader加载一个Helper时就是include那个文件。如果你那个helper文件中有类和静态方法的话,直接用PHP中调用类的静态方法的语法就行了。
ClassName::MethodName(args...);
发表于 2009-9-4 17:01:49 | 显示全部楼层
还有,在用load方法时可以在最后加一个false,这样就不会创建实例了。

本版积分规则