codeigniter 无法加载库

Posted

技术标签:

【中文标题】codeigniter 无法加载库【英文标题】:codeigniter cannot load library 【发布时间】:2011-06-14 04:00:43 【问题描述】:

我有一个问题,我无法在我的控制器中加载我的库:S

我收到此错误:消息:未定义属性:Profil::$profileWall

我的图书馆:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 

class ProfileWall


    private $CI;

    public function __construct()
    
        $this->CI =& get_instance();
    

    public function wallShow()
    
        $this->CI->load->model('profil_model');
        return $this->CI->profil_model->wallGet($this->CI->uri->segment(3));
    

和我的控制器

    function index()
    
        $this->load->model('profil_model');
        $data['query'] = $this->profil_model->vis_profil($this->uri->segment(3)); 


        //Henter lib profilwall så man kan vise wall beskeder i profilen
        $this->load->library('profileWall');
        $data['queryWall'] = $this->profileWall->wallShow();



        $data['content'] = 'profil_view';
        $this->load->view('includes/template', $data);



我做错了什么?

【问题讨论】:

您使用的是哪个版本的 CI?你在哪里保存Profilewall.php 【参考方案1】:

确保您的库加载始终以小写形式完成,根据Documentation,对象实例将始终小写。

还要确保你的库文件是大写的ProfileWall.php

示例加载$this-&gt;load-&gt;library('profilewall');

用法$this-&gt;profilewall-&gt;function();

【讨论】:

非常感谢:D 它只是 profilewall 然后我加载了库,所以只有小写:D 非常感谢!我从来不知道这一点,并浪费了一天。我现在会更多 rtfm。 :) 我们可以禁用这些 Codeigniter 命名约定吗?因为我是 Java 背景,想使用 Java 命名约定。【参考方案2】:

代码点火器中的库没有集中用于小写, 您是否将您的库放在文件夹应用程序/库中?前 或尝试使用 CI_ProfileWall 更改您的班级名称

【讨论】:

【参考方案3】:

我已使用 CKEditor CKFinder 将我的文件保存在 /libraries 文件夹中。 我将 CKFinder 的第一个字母更改为 Ckfinder,将 CKEditor 更改为 Ckeditor。 工作正常。

在你的 profileWall 中,应该是 Profilewall

【讨论】:

【参考方案4】:

我遇到了同样的问题,经过很多次后,我意识到我以错误的格式加载了我的库。我没有将它们放入array。我变了 $this-&gt;load-&gt;library('email','custom');$this-&gt;load-&gt;library(array('email','custom'));

【讨论】:

以上是关于codeigniter 无法加载库的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter:我可以列出项目,但无法加载

CodeIgniter:无法加载请求的文件:

codeigniter 未在 xampp 1.7.3 中运行(无法加载类)

hadoop本地库无法加载

php codeigniter - 从控制器加载库资产

XAMPP在codeigniter上加载空白屏幕