Maison  >  Article  >  développement back-end  >  Partager des connaissances sur certaines méthodes couramment utilisées en php

Partager des connaissances sur certaines méthodes couramment utilisées en php

零下一度
零下一度original
2017-06-23 15:20:571293parcourir

Avant-propos

POO

J'étudie PHP depuis longtemps. Aujourd'hui, je vais résumer les classes abstraites et les méthodes abstraites en PHP/attributs statiques et méthodes statiques/mode d'intérêt unique (mode monomorphe) en PHP/sérialisation et désérialisation. (sérialisation et désérialisation).

1 Classes abstraites et méthodes abstraites en PHP
1  PHP中的抽象类与抽象方法
 
  1. Qu'est-ce qu'une méthode abstraite ?
Les méthodes sans corps de méthode {} doivent être modifiées avec le mot-clé abstract. Une telle méthode est appelée méthode abstraite.
fonctions abstraites (); // La méthode abstraite

2. Qu'est-ce qu'une classe abstraite ?
Une classe qui contient des méthodes abstraites est appelée une classe abstraite. Les classes abstraites doivent être modifiées avec le mot-clé abstract.
                  classe abstraite Personne{}
                                                                                                                                                  La classe doit être une classe abstraite
Les classes abstraites ne contiennent pas nécessairement de méthodes abstraites
③ Les classes abstraites ne peuvent pas être instanciées.
                                                                                                                                      ’ s ’                 à                                  ‐ ‐ vers le bas ‐                                                    Limitez simplement l’instanciation ! ! !
4. La sous-classe hérite de la classe abstraite, la sous-classe doit donc réécrire toutes les méthodes abstraites de la classe parent. Sauf si la sous-classe est aussi une classe abstraite.
                                                                                                                                                                                                       
① Limiter l'instanciation. (Une classe abstraite est une classe incomplète. La méthode abstraite à l'intérieur n'a pas de corps de méthode, elle ne peut donc pas être instanciée)
② La classe abstraite fournit une spécification pour l'héritage des sous-classes. Si une sous-classe hérite d'une classe abstraite, elle doit inclure et implémenter les méthodes abstraites définies dans la classe abstraite.
                                                               Géorgie, « Times New Roman », Times, sans empattement : 14 px ; ; hauteur : 38px ; couleur d'arrière-plan : #1570a6;" border="0 "> 2 Propriétés statiques et méthodes statiques
span>
 
   1.static
    ① Vous pouvez modifier les attributs et les méthodes, qui sont appelés respectivement attributs statiques et méthodes statiques, également appelés attributs de classe et méthodes de classe directement ;
                                                                                               ’            ’ ’ ensemble à ③ ③ ③ ③ Propriétés et méthodes statiques dans Il est déclaré lors du chargement de la classe. Générer avant l'objet ;
④ Dans les méthodes statiques, les propriétés ou méthodes non statiques ne peuvent pas être appelées
                                                                                                                                                                                                                       Générée, plutôt qu'une méthode d'attribut statique, aucune instanciation n'est encore née)
⑤ Dans une classe, vous pouvez utiliser le mot-clé self pour faire référence au nom de la classe.
personne de classe{
🎜>                                                                                                                                                                                                              partagé. Autrement dit, de nombreux nouveaux objets partagent également le même attribut.

2. final
① classe finale modifiée, cette classe est la classe finale et ne peut pas être héritée
② méthode finale modifiée, cette méthode est la méthode finale et ne peut pas être remplacée !
③ final ne peut pas modifier les attributs.

3. Mot-clé Const ;
Lors de la déclaration de constantes dans une classe, vous ne pouvez pas utiliser la fonction définir(). Vous devez utiliser le mot-clé const !
Semblable à l'instruction Define(), la déclaration du mot-clé const ne peut pas être apportée avec $, et tous doivent être en majuscules !
Une fois qu'une constante est déclarée, elle ne peut plus être modifiée. Lors de l'appel, c'est la même chose que statique, en utilisant le nom de classe Person :: constant.
[Résumé] Plusieurs symboles de fonctionnement spéciaux
1.. Vous ne pouvez connecter que la chaîne "" "
2, = & gt; key"=>"value"]
3. -> L'objet (objet généré par $this new) utilise les attributs membres et les méthodes membres.
4. : : ① Utilisez le mot-clé parent pour appeler la méthode du même nom dans la classe parent ; parent::say();
② Utilisez le nom de la classe (et self) pour appeler les propriétés statiques, méthodes statiques et constantes.





3 Mode d'intérêt unique (mode monomorphe) en PHP
 
Le mode simplex est également appelé mode monomorphe


On peut garantir qu'une classe ne peut avoir qu'une seule instance d'objet.
                                                                                          en utilisant « un nouveau mot-clé pour créer des objets ».
② Fournir des méthodes externes pour obtenir des objets. Dans la méthode, déterminez si l'objet est vide. S'il est vide, créez l'objet et renvoyez-le. S'il n'est pas vide, remettez-le directement
   ③ Les attributs de l'objet instance et les méthodes du passé. les objets doivent être statiques.
④ Après cela, les objets ne peuvent être créés qu'en utilisant les méthodes statiques que nous fournissons. $s1 = Singleton::getSingle();
                                                                      Le code de


4 Sérialisation et désérialisation (sérialisation et désérialisation Sérialisation)
 
1. Sérialisation : Le processus de conversion d'un objet en chaîne par une série d'opérations est appelé sérialisation ;
2. Désérialisation : Convertir le sérialisé Le processus de conversion d'une chaîne en objet est appelé désérialisation ; ;
3. Quand la sérialisation est-elle utilisée ?
            ① Lorsque l'objet doit être transmis sur le réseau ;
                                                                                                                                                                   ① Lorsqu'elle est exécutée, la fonction __sleep() sera automatiquement exécutée. peut être sérialisé ; les attributs qui ne sont pas dans le tableau ne peuvent pas être sérialisés ; 6. Méthode magique __wakeup () :
① Lors de la désérialisation d'un objet, la méthode __wakeup() est automatiquement appelée
② Lorsqu'elle est automatiquement appelée, elle est utilisée ; pour recopier les nouveaux attributs d'objet générés par la désérialisation ;
function __wakeup(){
$this->name = "李思";



5 Type de contrainte
 
1. Contrainte de type : fait référence à l'ajout d'un type de données avant une variable pour contraindre la variable à ne stocker que le type de données correspondant (cette opération est courante dans les langages fortement typés. En PHP, seul peut réaliser le type. contraintes de tableaux et d'objets)
2. Si la contrainte de type est une certaine classe, cette classe et les objets de sous-classe de cette classe peuvent passer

3. En PHP, les contraintes de type ne peuvent apparaître que dans les paramètres formels ; de fonctions.
           personne de classe{}
                      classe Étudiant prolonger                                                                                                 echo " 111";
echo $p->name;
11" ); 0px solid #000000; border-collapse : réduire ; saut de mot : mot de rupture ; couleur : #333333 ; famille de polices : Géorgie, 'Times New Roman', Times, sans-serif ; hauteur de ligne : 25 px ; hauteur d'arrière-plan : 38 px ; -color: #1570a6;" border="0">6 Résumé des méthodes magiques

 
1. __construct() : constructeur, appelle automatiquement
lorsqu'un objet est nouveau 2. __destruct() : destructeur, appelle automatiquement
lorsqu'un objet est détruit 3. __get() : classe d'accès Appelée automatiquement lorsque l'attribut privé est présent. Passez le nom de l'attribut lu et renvoyez $this->attribute name
4. __set() : automatiquement appelé lors de l'attribution d'une valeur à un attribut privé de la classe. Transmettez le nom de l'attribut et la valeur de l'attribut qui doivent être définis
5. __isset() : automatiquement appelé lors de l'utilisation d'isset() pour détecter les attributs privés de l'objet. Transmettez le nom de l'attribut détecté et retournez isset($this->attribute name);
6. __unset() : automatiquement appelé lors de l'utilisation d'unset() pour supprimer les attributs privés de l'objet. Transmettez le nom de l'attribut supprimé et exécutez unset($this->attribute name) dans la méthode
7. __toString() : automatiquement appelé lors de l'utilisation d'echo pour imprimer l'objet. Renvoie le contenu réel lorsque vous souhaitez imprimer l'objet ; le retour doit être une chaîne
8. __call() : Appelé automatiquement lors de l'appel d'une méthode non définie ou non publiée dans une classe. Transmettez le nom de la fonction appelée et le tableau de la liste des paramètres ;
9. __clone() : automatiquement appelé lors du clonage d'un objet à l'aide du mot-clé clone. La fonction consiste à initialiser et copier l'objet nouvellement cloné ;
10. __sleep() : automatiquement appelé lorsque l'objet est sérialisé. Renvoie un tableau dont les valeurs sont des propriétés sérialisables.

11. __wakeup() : Appelé automatiquement lorsque l'objet est désérialisé. Pour désérialiser l'objet nouvellement généré, effectuez une copie d'initialisation ;

12. __autoload() : La fonction doit être déclarée en dehors de la classe. Appelé automatiquement lors de l'instanciation d'un cours en direct. En transmettant le nom de classe instancié, le fichier de classe correspondant peut être automatiquement chargé en utilisant le nom de classe.
6  魔术方法小总结








Il peut y avoir des erreurs dans les notes lors de l'étude. Vos critiques et conseils sont les bienvenus.

Réfléchissez, révisez et gagnez un peu chaque jour--------------------- Dans l'attente d'un meilleur moi

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!

Déclaration:
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