【问题标题】:How do I include external Libraries in CodeIgniter?如何在 CodeIgniter 中包含外部库?
【发布时间】:2011-01-21 04:46:44
【问题描述】:

我是 codeigniter 的新手,我正在尝试将亚马逊的 FPS 集成到我的页面中。有很多库和模型与 Amazon FPS 一起使用,我需要将它们包括在内才能进行适当的调用。

如何将它们包含在 CodeIgniter 中?

我尝试将整个 Amazon 文件夹放在 system/libraries 目录中,然后尝试使用 $this->load->library('Amazon/FPS/Client'); 包含库。 但是,我在那里的相对路径遇到了问题,因为 Client.php 包含语句 require_once ('Amazon/FPS/Interface.php'); ...在同一个文件夹中。

必须有更好的方法来完成这一切 - 任何人都可以帮忙吗?

谢谢!!

【问题讨论】:

    标签: codeigniter amazon-web-services


    【解决方案1】:

    没有什么可以阻止您直接包含类并使用它们,但是您在普通 PHP 设置中会这样做。如果它在 PHP 中工作,它将在 CodeIgniter 中工作。

    include(APPPATH.'libraries/Amazon/FPS/Interface.php');
    

    【讨论】:

    • 当然可以!但我想要更清洁的方式。喜欢$this->load->library()
    【解决方案2】:

    a3m http://code.google.com/p/a3m/ 的 Peng Kong 有一个很好的插件方式:

    例子 twitter_pi.php

    require_once(APPPATH.'modules/account/plugins/libraries/jmathai-twitter-async/EpiCurl.php'); require_once(APPPATH.'modules/account/plugins/libraries/jmathai-twitter-async/EpiOAuth.php'); require_once(APPPATH.'modules/account/plugins/libraries/jmathai-twitter-async/EpiTwitter.php');

    /* twitter_pi.php 文件结束 / / 位置:./system/application/modules/account/plugins/twitter_pi.php */

    在控制器中

    $this->load->plugin('twitter'); $twitterObj = new EpiTwitter($this->config->item('twitter_consumer_key'), $this->config->item('twitter_consumer_secret'));

    在 Codeigniter 2.0 中存在一个问题,没有插件

    【讨论】:

    • 此解决方案已过时。没有插件支持 CodeIgniter。
    【解决方案3】:

    哦,是的,codeigniter 很好,还支持许多库,请看这里 http://www.haughin.com/code/ 包括这样的亚马逊服务$this->load->library('s3');

    【讨论】:

      【解决方案4】:

      @user3526 请注意 $this->load->library('classname') 将创建该加载类的实例,而不仅仅是文件(类)包含。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多