Bibliothèque de classes CodeIgniter
Tous les fichiers de bibliothèque de classes sont stockés dans le dossier système/bibliothèques. Dans la plupart des cas, vous devez les initialiser dans le contrôleur avant de pouvoir les utiliser :
[code]$this->load->library('class name');
class name est le nom de classe que vous souhaitez utiliser. Par exemple, pour charger la « Classe de validation de formulaire », vous pouvez faire ceci :
[code]$this->load->library('form_validation');
Créez votre fichier bibliothèque de classes
Votre fichier bibliothèque de classes doit être enregistré Dans le dossier application/bibliothèques, CodeIgniter les recherchera et les initialisera dans ce dossier.
Convention de dénomination
La première lettre du nom du fichier est en majuscule. Par exemple : Myclass.php
La première lettre de la déclaration de classe est en majuscule. Par exemple : class Myclass
Le nom de la classe et le nom du fichier doivent être identiques.
Toutes les classes doivent avoir un prototype de base
[code]<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function some_function() { } } /* End of file Someclass.php */
Dans toutes les fonctions du contrôleur, vous pouvez initialiser votre classe de la manière standard suivante :
[code]$this->load->library('someclass');
Lorsque someclass est le nom du fichier, il n'est pas nécessaire d'ajouter l'extension ".php". Le nom ici n'est pas sensible à la casse
Une fois votre classe personnalisée chargée, vous pouvez appeler la classe de la manière suivante, n'oubliez pas d'utiliser des noms en minuscules :
[code]$this->someclass->some_function(); // 对象的实例名永远都是小写的
Lors de l'initialisation de la bibliothèque de classes, vous pouvez passer dynamiquement le tableau à la classe via le deuxième paramètre . Dans le constructeur :
[code]$params = array('type' => 'large', 'color' => 'red'); $this->load->library('Someclass', $params);
Lorsque vous utilisez cette fonctionnalité, vous devez ajouter des paramètres au constructeur de classe :
[code]<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function __construct($params) { // Do something with $params } } ?>
.
Pour accéder aux ressources originales de CodeIgniter dans votre bibliothèque de classes personnalisées, vous devez utiliser la fonction get_instance(). De manière générale, dans votre fonction de contrôleur, vous pouvez appeler n'importe quelle fonction CodeIgniter disponible via $this :
[code]$this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url');
Lorsque vous souhaitez utiliser la classe originale CodeIgniter dans une classe personnalisée, vous pouvez faire ceci :
Tout d'abord, définissez l'objet CodeIgniter et affectez-le à une variable :
[code]$CI =& get_instance();
Une fois que vous avez défini un objet en tant que variable, vous pouvez utiliser ce nom de variable Remplacer $this :
[code]$CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session'); $CI->config->item('base_url');
Remplacer la classe d'origine
Nommez simplement votre propre classe de la même manière que la classe d'origine pour que CodeIgniter utilise la nouvelle classe. Pour utiliser cette fonctionnalité, le nom de fichier et la déclaration de classe doivent être exactement les mêmes que la classe d'origine. Par exemple, pour remplacer la bibliothèque de classes Email d'origine. Vous devez créer un fichier application/libraries/Email.php, et déclarer les classes comme suit :
[code]class CI_Email { }
Extendre les classes existantes
si besoin Quand en ajoutant une ou deux nouvelles fonctionnalités à une bibliothèque de classes, il n'est pas nécessaire de remplacer l'intégralité du fichier de bibliothèque de classes. Vous pouvez simplement étendre (hériter) de la classe existante. Étendre une classe revient à ajouter des exceptions à la classe :
<.>La classe étendue doit déclarer qu'elle est étendue à partir de la classe parent.
Le fichier contenant la classe nouvellement étendue doit être préfixé par MY_ (cette option est configurable).
Par exemple, pour étendre la classe Email d'origine, vous devez créer le fichier application/libraries/MY_Email.php et le déclarer dans le fichier comme suit :
[code]class MY_Email extends CI_Email { }
Pour charger une sous-classe d'extension, vous devez utiliser un nom de caractère standard. Veuillez ne pas utiliser de préfixe. Par exemple, pour charger la sous-classe d'extension de courrier électronique mentionnée ci-dessus, vous devez écrire :
[code]$this->load->library('email');
Ce qui précède est le contenu des notes d'étude de CodeIgniter Item9 - la bibliothèque de classes de CI. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn. )!