Maison > Article > développement back-end > Série PHP (1)
Écrit au début de l'article :
La Fête du Printemps approche et je rentrerai chez moi demain. Je suis extrêmement excitée. Après une année bien remplie, je peux enfin passer du temps avec ma famille. Après que les étrangers ont quitté Pékin, Pékin était comme une « ville vide ». Lorsque mes collègues en parlaient aujourd'hui, ils se sont soudainement rappelés du célèbre dicton de Sima Qian : « Tout dans le monde est animé par le profit ; le monde est animé, tout est par le profit. "Maintenant, la direction du profit est Il devrait s'agir de liens familiaux, de liquidation du cerf-volant, peu importe ce que vous avez vécu au cours de l'année écoulée, vous devez préparer votre humeur et rentrer chez vous pour célébrer la nouvelle année. Je vous souhaite à tous une bonne année par avance ~
Pendant la Fête du Printemps, je tiendrai également ma promesse et publierai au moins un article chaque semaine.
Je voudrais également remercier les lecteurs d'And1 pour leurs précieuses suggestions. Si vous avez de bonnes suggestions, n'hésitez pas à me le faire savoir.
Retour au texte principal : Aujourd'hui, nous allons parler des cours en PHP.
1 Qu'est-ce qu'une classe ?
Une classe consiste à mettre certaines choses dans une seule catégorie, comme les chats, les chiens et les cochons. Ce sont tous des animaux, nous pouvons donc les mettre dans une seule. catégorie. Les classes sont abstraites et non concrètes. Si une classe est rendue concrète, elle est un objet de la classe. Les chats et les chiens sont des objets de la classe animale. Les étudiants peuvent également être considérés comme une classe, alors Xiaohong est un objet dans la classe d'étudiant (la terminologie en développement est aussi appelée « instance »)
En gros, une classe est un ensemble de nombreuses méthodes (en fait, il existe des attributs qui ne sont implémentés qu'en conjonction avec des méthodes). Ces méthodes sont des logiques ou des algorithmes que vous utilisez souvent dans les programmes. Les regrouper dans des classes peut améliorer l'efficacité du programme et réduire la duplication de code.
2 Définition de classe
La définition de chaque classe commence par le mot-clé class, suivi du nom de la classe, suivi d'une paire d'accolades, qui contient les attributs et propriétés de la classe Définition de la méthode.
<?php class SimpleClass { // 声明类的属性 public $var = 'a default value'; // 声明类的方法 public function displayVar() { echo $this->var; } } ?>
Lorsqu'une méthode est appelée dans une définition de classe, une pseudo variable $this est disponible. $this est une référence à l'objet appelant. En fait, il fait référence à l'instance de cette classe (pronom)
3. L'instance
est aussi un objet spécifique. Pour créer une instance d'une classe, le mot-clé new doit être utilisé.
Si new est suivi d'une chaîne contenant le nom de la classe, une instance de cette classe est créée.
// 创建一个实例 <?php $instance = new SimpleClass(); // 也可以这样做: $className = 'Foo'; $instance = new $className(); // Foo() ?>
L'héritage de 4 classes
peut être compris comme un enfant héritant des gènes de son père.
① Une classe peut hériter des méthodes et propriétés d'une autre classe en utilisant le mot-clé extends dans la déclaration.
② PHP ne prend pas en charge l'héritage multiple. Une classe ne peut hériter que d'une seule classe de base (en fait, un enfant ne peut avoir qu'un seul père).
③ Les méthodes et propriétés héritées peuvent être remplacées en les redéclarant sous le même nom (on peut comprendre que le fils a amélioré les gènes d'origine du père). Mais si la classe parent utilise final lors de la définition d’une méthode, la méthode ne peut pas être remplacée. Les méthodes ou propriétés remplacées sont accessibles via parent ::.
④ Lors du remplacement d'une méthode, les paramètres doivent être cohérents sinon PHP émettra un message d'erreur de niveau E_STRICT. L'exception concerne les constructeurs, qui peuvent prendre des paramètres différents lorsqu'ils sont remplacés.
// 简单的类继承 <?php class ExtendClass extends SimpleClass { // 重新定义父类的方法 function displayVar() { echo "继承类\n"; parent::displayVar(); } } $extended = new ExtendClass(); $extended->displayVar(); ?>
5 Analyse du nom de classe
En utilisant ClassName::class, vous pouvez obtenir une chaîne contenant le nom complet de la classe ClassName.
// 类名的解析 <?php namespace NS { class ClassName { } echo ClassName::class; } ?> // 以上输出结果: NS/ClassName
Ce qui précède est le contenu de la série PHP (1). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !