【问题标题】:call libraries from model in codeigniter从 codeigniter 中的模型调用库
【发布时间】:2012-10-07 11:16:44
【问题描述】:

我正在尝试从 codeigniter 中的模型调用库,但不想触发并且我真的不知道如何调试它,我一直在尝试使用 codeigniters 默认日志记录方法但没有显示任何内容.我的代码如下所示。

class Model_products extends CI_Model{


    function __construct(){
        parent::__construct();
        $this->load->library('ApiClient');
        log_message('error', $this->load->library('ApiClient'));

}       
}

/application/libraries/ApiClient.php

libary final class ApiClient
{}

【问题讨论】:

    标签: php codeigniter model libraries error-logging


    【解决方案1】:

    您不能命名库 ApiClient - 类名应遵循 CI 命名约定(与 ucfirst() 相同),当在 CI 中加载任何内容时,您需要使用小写命名来加载它。

    命名是关键。

    您的文件应命名为Apiclient.php(库文件名中的第一个字母为大写,模型、视图和控制器均为小写文件命名)。

    你的类定义也应该反映这一点:

    class Apiclient
    {
      ...
    }
    

    并且在使用CI实例加载库时,需要以小写命名方式加载:

    $this->load->library('apiclient');
    

    【讨论】:

    • 嗨,我做了这些更改,但不幸的是,毕竟没有结果。调试器没有告诉我什么有帮助。只是空白屏幕
    • 您的 Apiclient 库可能失败,这就是日志没有显示任何内容的原因。检查您的 Apache 错误日志。
    • 是的,我一直在看,它在第 1099 行显示了以下从上下文“CI_Loader”/Loader.php 对私有的调用。但我找到了另一种方法来直接包含我的 api 类 include(APPPATH. '库/ApiClient.php');但我不知道是否是最好的方法
    【解决方案2】:

    您在$this->load->library('ApiClient') 的行尾漏掉了一个分号。会是这样吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多