问题
I have a problem that I can't load my library in my controller :S
I got this error: Message: Undefined property: Profil::$profileWall
My library:
<?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));
}
}
and my controller
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);
}
What am I doing wrong?
回答1:
Make sure your library loading is always done in lowercase, per the Documentation, object instances will always be lower case.
Also make sure your library file is capitalized ProfileWall.php
example load $this->load->library('profilewall');
usage $this->profilewall->function();
回答2:
Library in code igniter didn't concentrate for lower case, Have you placed your library in folder application/library? before or try changed your class name with CI_ProfileWall
回答3:
I have been saved my files with CKEditor CKFinder in /libraries folder. I changed with first letter of CKFinder to Ckfinder and CKEditor to Ckeditor. Working fine.
In your profileWall , it should be Profilewall
回答4:
I had the same problem and after straggling alot I realized that I was loading my libraries in a wrong format. I was not putting them into an array. I changed
$this->load->library('email','custom'); to $this->load->library(array('email','custom'));.
来源:https://stackoverflow.com/questions/4776399/codeigniter-cannot-load-library