【问题标题】:Is it possible to call a codeigniter library inside another library file?是否可以在另一个库文件中调用 codeigniter 库?
【发布时间】:2012-03-02 06:11:34
【问题描述】:

我想在我编写的另一个库中调用一个库中的函数。可以在codeigniter中做到这一点吗?如果是这样,任何人都可以解释如何做到这一点?

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    你可以的;

    $CI =& get_instance(); $CI->load->library('your_library'); $CI->your_library->do_something();

    【讨论】:

    • 我正在寻找一种方法来访问另一个成员的成员方法,即来自另一个库的库方法,这非常感谢!
    • 另外,如果您想将父库加载到控制器中,您还必须将子类也显式加载到控制器中,否则您将收到“遇到 PHP 错误严重性:通知消息:未定义属性: [控制器名称]::$[子库调用方法]"
    【解决方案2】:

    通常,您使用 get_instance() 引用 Codeigniter 对象(从技术上讲是当前控制器)。通常你会想把它分配给你的库的一个属性,像这样:

    class My_Library {
    
        private $CI;
    
        function __construct()
        {
            // Assign by reference with "&" so we don't create a copy
            $this->CI = &get_instance();
        }
    
        function do()
        {
            $var = $this->CI->my_other_library->get();
            // etc. 
        }
    }
    

    只需确保已加载其他库或在您的 config/autoload.php 中。

    【讨论】:

      猜你喜欢
      • 2012-10-05
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 2011-08-27
      • 2018-11-04
      • 2010-09-13
      • 2021-01-07
      • 1970-01-01
      相关资源
      最近更新 更多