Class Loader (amélioration)
1 message
• Page 1 sur 1
Class Loader (amélioration)
Bonjour à tous,
Un truc tout bête du Mercredi matin ...
Pour des besoin persos je me suis rajouter cette méthode dans la classe system/engine/loader.php, j'aimais bien comment c'était fait avant ! (pour les nostalgiques)
En gros vous devez créer un répertoire system/external
Ensuite vous mettez vos classes dedans, puis dans vos controller, vos models ou autres vous faites un truc du genre :
$this->load->external('ma_classe'); // instanciation directe
$this->load->external('ma_classe', false); // simple inclusion
Si vous ne mettez pas le second arguments à la méthode, la classe est automatiquement instanciée, sinon en passant à false, le travail doit être fait à la mano !!! (utile si vous utiliser une classe avec des données "persistantes" construite dès le constructeur Ex: Gmap, Twitter etc... et oui on va balancer une bonne fois pour toutes les clés d'accès dès l'instanciation ! )
Bref, c'est pas grand chose mais bon ...
Nico
ps: j'ouvre le débat sur les "Espaces de Noms"
Un truc tout bête du Mercredi matin ...
Pour des besoin persos je me suis rajouter cette méthode dans la classe system/engine/loader.php, j'aimais bien comment c'était fait avant ! (pour les nostalgiques)
- Code: Tout sélectionner
public function external($external, $instance = true) {
$file = DIR_SYSTEM . 'external/' . $external . '.php';
$class = str_replace("class_", '', $external);
if (file_exists($file)) {
include_once($file);
if($instance) {
Registry::set($class, new $class());
}
} else {
exit('Error: Could not load external ' . $external . '!');
}
}
En gros vous devez créer un répertoire system/external
Ensuite vous mettez vos classes dedans, puis dans vos controller, vos models ou autres vous faites un truc du genre :
$this->load->external('ma_classe'); // instanciation directe
$this->load->external('ma_classe', false); // simple inclusion
Si vous ne mettez pas le second arguments à la méthode, la classe est automatiquement instanciée, sinon en passant à false, le travail doit être fait à la mano !!! (utile si vous utiliser une classe avec des données "persistantes" construite dès le constructeur Ex: Gmap, Twitter etc... et oui on va balancer une bonne fois pour toutes les clés d'accès dès l'instanciation ! )
Bref, c'est pas grand chose mais bon ...
Nico
ps: j'ouvre le débat sur les "Espaces de Noms"
-
acidline - Messages: 13
- Inscrit le: 01 Avr 2010, 08:00
1 message
• Page 1 sur 1
Qui est en ligne ?
Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité