Domanda

Io ho questo controllore:

    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);
   }
}

mi dice in questa linea:

parent :: Controller (); // errore qui.

 Call to undefined method CI_Controller::Controller() 

Se rimuovo che line..I ottenere un errore per la riga successiva che dice ..

Call to a member function item() on a non-object

Come faccio a impedire tali errori di forma succedendo?

È stato utile?

Soluzione

Se stai usando CI 2.x quindi il costruttore di classe dovrebbe essere simile a questo:

   public function __construct()
   {
        parent::__construct();
        // Your own constructor code
   }

Per saperne di più in

Altri suggerimenti

In __constructor CodeIgniter 2, il costruttore è chiamato e non il nome della classe. Quindi è necessario chiamare parent::__construct() invece di parent::Controller()

Ecco un articolo che si può leggere che mostra una grande differenza tra il CodeIgniter 1.xe 2.x CodeIgniter

http : //ulyssesonline.com/2011/03/01/differences-between-codeigniter-1-7-2-and-2-0-0/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top