thinkphp3 a une classe de façade. Facade fournit une interface d'appel statique pour les classes du conteneur, avec une meilleure testabilité et évolutivité. Vous pouvez définir une classe de façade pour n'importe quelle bibliothèque de classes non statiques. La syntaxe est "class Test{public function Class(){return path;}}. ".
L'environnement d'exploitation de cet article : système Windows 10, version ThinkPHP3, ordinateur Dell G3.
La façade fournit une interface d'appel statique pour les classes du conteneur. Par rapport aux appels de méthodes statiques traditionnelles, elle apporte une meilleure testabilité et évolutivité. Vous pouvez l'appeler pour toute bibliothèque de classes non statique. définit une classe de façade
Pourquoi utiliser façade
1 La différence entre les méthodes statiques et les méthodes non statiques (les objets appelants et les variables de référence sont différents)
Méthodes statiques : sont modifiées avec le mot-clé statique Méthode. , également appelée méthode de classe. Elle appartient à la classe et non à l'objet. Avant d'instancier l'objet, vous pouvez appeler la méthode statique via le nom de la classe et le nom de la méthode. (Les attributs statiques et les méthodes statiques appartiennent à des classes et peuvent être appelés directement via le nom de la classe).
A. Dans une méthode statique, vous pouvez appeler une méthode statique.
B. Dans les méthodes statiques, les méthodes non statiques ne peuvent pas être appelées.
C. Dans une méthode statique, vous pouvez référencer des variables de classe (c'est-à-dire des variables modifiées statiquement).
D. Dans une méthode statique, les variables membres ne peuvent pas être référencées (c'est-à-dire les variables sans modification statique).
E. Dans les méthodes statiques, les mots-clés super et this ne peuvent pas être utilisés
Méthode non statique : il s'agit d'une méthode ordinaire qui ne contient pas la modification du mot-clé statique, également connue sous le nom de méthode d'instance et de méthode membre. Appartient aux objets, pas aux classes. (Les attributs membres et les méthodes membres appartiennent à des objets, et ils doivent être créés via le nouveau mot-clé puis appelés via l'objet).
A. Dans les méthodes ordinaires, les méthodes ordinaires peuvent être appelées.
B. Dans les méthodes ordinaires, vous pouvez appeler des méthodes statiques
C. Dans les méthodes ordinaires, vous pouvez référencer des variables de classe et des variables membres
D. Dans les méthodes ordinaires, vous pouvez utiliser les mots-clés super et this
2. La différence entre les méthodes statiques et les méthodes non statiques (différentes méthodes d'appel)
Les méthodes statiques peuvent être appelées directement, des appels de nom de classe et des appels d'objet. (Nom de la classe. Nom de la méthode / Nom de l'objet. Nom de la méthode)
Mais les méthodes non statiques ne peuvent être appelées que via des objets. (Nom de l'objet. Nom de la méthode)
3. La différence entre les méthodes statiques et les méthodes non statiques (cycles de vie différents)
Le cycle de vie d'une méthode statique est aussi long que la classe correspondante et les variables statiques. grandira avec la classe définie et chargée en mémoire. Les propriétés et méthodes statiques ne seront pas détruites avant la fin du thread. (C'est-à-dire que les méthodes statiques appartiennent à des classes)
Le cycle de vie des méthodes non statiques est aussi long que l'objet instancié de la classe. Ce n'est que lorsque la classe instancie un objet que la méthode non statique sera créée, et quand. l'objet est détruit, les méthodes non statiques sont également détruites immédiatement. (C'est-à-dire que les méthodes non statiques appartiennent aux objets)
Résumé :
Les méthodes de classe peuvent être appelées directement via le nom de la classe, les méthodes d'instance doivent d'abord instancier la classe, puis initialiser l'objet, puis l'appeler via le objet d'instance de la classe
Comment utiliser
1. Créez un dossier façade où la classe façade doit être placée
2 Écrivez votre propre classe publique
3. façade comme suit
use think/Facade; class TestFacade extends Facade{ protected static function getFacadeClass(){ return '写好的目标公共类绝对路径'; } }
4. Lors de l'appel de cette classe publique Vous pouvez utiliser directement la classe façade pour remplacer la classe publique, afin que les méthodes non statiques de la classe publique puissent également être appelées de manière statique
Apprentissage recommandé : "PHP Tutoriel vidéo"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!