Appel à la méthode non définie CI_Controller :: Controller ()
-
26-10-2019 - |
Question
J'ai obtenu ce contrôleur:
class Start extends CI_Controller{
var $base;
var $css;
function Start()
{
parent::Controller(); //error here.
$this->base = $this->config->item('base_url'); //error here
$this->css = $this->config->item('css');
}
function hello($name)
{
$data['css'] = $this->css;
$data['base'] = $this->base;
$data['mytitle'] = 'Welcome to this site';
$data['mytext'] = "Hello, $name, now we're getting dynamic!";
$this->load->view('testView', $data);
}
}
il me dit dans cette ligne:
parent :: Controller (); // erreur ici.
Call to undefined method CI_Controller::Controller()
Si je retire que line..I obtenir une erreur pour la ligne suivante qui dit ..
Call to a member function item() on a non-object
Comment puis-je éviter de telles erreurs ne se passe?
La solution
Si vous utilisez 2.x CI alors votre constructeur de classe devrait ressembler à ceci:
public function __construct()
{
parent::__construct();
// Your own constructor code
}
En savoir plus Guide
Autres conseils
Dans CodeIgniter 2, le constructeur est nommé __constructor
et non le nom de classe. Donc, vous devez appeler parent::__construct()
au lieu de parent::Controller()
Voici un article que vous pouvez lire que montre une différence majeure entre 1.x et CodeIgniter CodeIgniter 2.x
http : //ulyssesonline.com/2011/03/01/differences-between-codeigniter-1-7-2-and-2-0-0/