Ceci est une ancienne révision du document !
Astuces
- Helpers
Création d'un contrôleur de base personnalisé et Extension de CI_Controller
Le contrôleur de base de codeIgniter correspond à la classe CI_Controller localisée dans system/core.
Classe dérivée
class BaseCtrl extends \CI_Controller{
public function __construct(){
// TODO Auto-generated method stub
parent::__construct();
}
}
Modification de config.php
Il est nécessaire de modifier le fichier config.php pour que la classe BaseCtrl soit automatiquement chargée au lancement de l'application :
Ajouter le code suivant à la fin de config.php, en utilisant la fonction php _autoload()
//Fin de config.php
function __autoload($class){
if(strpos($class, 'CI_') !== 0){
$paths = array(APPPATH . 'core/', APPPATH . 'controllers/');
foreach($paths as $path){
if (file_exists($path . $class . EXT)){
@include_once( $path . $class . EXT );
break;
}
}
}
}
Contrôleur personnalisé et complétion de code
<?php
class BaseCtrl extends \CI_Controller{
/**
* @var CI_JsUtils
*/
private $jsutils;
/**
* @var CI_Base
*/
private $CI;
/**
* @var Doctrine
*/
private $doctrine;
public function __construct(){
// TODO Auto-generated method stub
parent::__construct();
}
}