欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Codeigniter里的library加载其他类

程序员文章站 2022-06-02 13:29:32
...
http://codeigniter.org.cn/forums/thread-15891-1-1.html 像这个帖子里的QQ sdk集成一样,作者把所以用到的class放在的一个library类里,看着好难受啊,有没有办法把这些类都拿到一个文件夹里,然后在这个library加载进来。

by the way 求点这个例子的demo code刚刚学ci不太懂哇,感谢 :)

回复内容:

http://codeigniter.org.cn/forums/thread-15891-1-1.html 像这个帖子里的QQ sdk集成一样,作者把所以用到的class放在的一个library类里,看着好难受啊,有没有办法把这些类都拿到一个文件夹里,然后在这个library加载进来。

by the way 求点这个例子的demo code刚刚学ci不太懂哇,感谢 :)

原帖给了方法了

/* Qc.php文件结束 */
/* 位置: ./application/libraries/Qc.php */

PHP $this->load->library('someclass'); //加载类 官方文档:使用你自己的类

那是标准PHP的写法,不是CI的写法。

CI的标准确实是一个文件一个class,一个一个载入,一个一个使用。

CI里面用Helper引入第三方库比较合适,尤其是这些非面向对象的库,比如某SDK叫 xxxsdk.php ,可以直接改名为 xxxsdk_helper.php 放到helpers目录下

然后在使用的时候用

$this->load->helper("xxxsdk"); 

即可 。之后就可以直接使用里面的函数或者类了。

简单搞的话,直接放到 libraries, 然后用到的地方,例如 Model 或 Controller 最上边 直接include进来就行。用的时候正常实例化就可以。

class Main_lib
{
    var $ci;
    public function __construct()
    {
        $this->ci = &get_instance();
        // 加载其他类库,可以是自定义类库,也可以是ci类库
        // 其他加载模型,helper都可以这样
        $this->ci->load->library('myClass');
    }

    public function method() {...}
}

QQConnect那个,我也觉得看着不舒服,我都是自己一个个分离出来了,有些用不上的就丢弃了,目前测试入口没问题,网站还没弄好,还没测试是否能成功登陆返回token

相关标签: php codeigniter