Maison > php教程 > PHP开发 > Notes d'étude CodeIgniter Item9 - Bibliothèque de classes dans CI

Notes d'étude CodeIgniter Item9 - Bibliothèque de classes dans CI

黄舟
Libérer: 2016-12-29 10:34:18
original
1226 Les gens l'ont consulté

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');
Copier après la connexion

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');
Copier après la connexion

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(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function some_function()
    {
    }
}
/* End of file Someclass.php */
Copier après la connexion

Dans toutes les fonctions du contrôleur, vous pouvez initialiser votre classe de la manière standard suivante :

[code]$this->load->library(&#39;someclass&#39;);
Copier après la connexion

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();  // 对象的实例名永远都是小写的
Copier après la connexion

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(&#39;type&#39; => &#39;large&#39;, &#39;color&#39; => &#39;red&#39;);
$this->load->library(&#39;Someclass&#39;, $params);
Copier après la connexion

Lorsque vous utilisez cette fonctionnalité, vous devez ajouter des paramètres au constructeur de classe :

[code]<?php if (!defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function __construct($params)
    {
        // Do something with $params
    }
}
?>
Copier après la connexion

.
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(&#39;url&#39;);
$this->load->library(&#39;session&#39;);
$this->config->item(&#39;base_url&#39;);
Copier après la connexion

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();
Copier après la connexion

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');
Copier après la connexion

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 
{
}
Copier après la connexion

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 
{
}
Copier après la connexion

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(&#39;email&#39;);
Copier après la connexion


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. )!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal