Bene, questa è una domanda PHP più generale. Comunque, sì, il metodo magico __construct() viene chiamato (automaticamente) su ogni istanza della classe, come puoi vedere nel manuale: http://www.php.net/manual/en/language.oop5.decon.php
Di solito, in CI non è necessario chiamare un costruttore, a meno che tu non sia effettivamente ne voglio uno. Nell'esempio che hai postato, il codice carica l'helper su ogni istanza della classe, che equivale a caricare l'helper in ogni metodo, salva solo un sacco di digitazione e garantisce che non venga dimenticato. In alternativa puoi mettere la libreria/helper/modello che vuoi avere caricato nel rispettivo array di autoload in config/autoload.php (controlla "autoloading" nel manuale di CI)
Una volta definito un costruttore nel tuo Controller bambino tu essere obbligato a chiamare il costruttore genitore (della classe CI_Controller della posta), perché è dove viene creato l'oggetto CI principale e tutte le classi sono caricate, e anche quelle del controllore figlio; se non riesci a farlo, la tua classe figlia costruirà separatamente e non erediterà.
spero Mi sono spiegato, inglese non è la mia lingua madre :)
fonte
2012-11-25 22:59:06
Potete provare voi stessi: basta 'var_dump (time())' nel costruttore e aggiornare la pagina per guarda cosa accadrà. La stringa di tempo scaricata cambierà all'aggiornamento della pagina, quindi significa che la classe viene creata un'istanza per ogni richiesta. – Melkor