Maison >développement back-end >Problème PHP >Quelle est la différence entre les méthodes d'instance PHP
Les différences entre les méthodes d'instance PHP sont : 1. Les méthodes statiques ne nécessitent pas de new, tandis que les méthodes d'instance nécessitent new ; 2. Les attributs non statiques ne peuvent pas être appelés dans les méthodes statiques. 3. Les méthodes statiques n'ont qu'une seule copie ; en mémoire, et les ressources sont partagées au sein d'un cycle de vie PHP, et les méthodes d'instance peuvent avoir plusieurs copies en mémoire.
Recommandé : "Tutoriel vidéo PHP"
La différence entre les méthodes statiques php et les méthodes d'instance
En programmation orientée objet PHP, on entre souvent en contact avec des classes et des méthodes. Quelle est la différence entre les méthodes statiques et les méthodes d'instance (méthodes non statiques) ? Comment choisir et postuler de manière plus adaptée ? Veuillez consulter la comparaison ci-dessous :
|
Méthode statique (statique) | Méthode d'instance | ||||||||||||||||||
Pas besoin de nouveau nom de classe :: nom de méthode. Par exemple : 1User::find();Remarque : les propriétés non statiques ne peuvent pas être appelées dans les méthodes statiques. |
nécessite un nouveau. Par exemple : 12$userObj = new User;$userObj->find(); |
|||||||||||||||||||
Il n'y a qu'une seule copie en mémoire et les ressources sont partagées au sein d'un cycle de vie PHP. Remarque : les méthodes et attributs statiques sont chargés au fur et à mesure que la classe est chargée, donc trop de méthodes statiques consommeront plus de mémoire. |
À chaque nouvelle fois, ce sera être ouvert Un espace indépendant, c'est-à-dire qu'il y aura plusieurs copies dans la mémoire. | |||||||||||||||||||
Performances | Appel direct, pas besoin d'ouvrir d'espace et d'autres opérations, meilleur en termes de temps et d'efficacité | Il faudra un certain temps pour ouvrir l'espace et d'autres opérations | ||||||||||||||||||
Partager | Partager le même espace et les mêmes données, les méthodes statiques sont donc plus adaptées dans certains scénarios | Plusieurs instances ne partagent pas le même espace et les mêmes donnéesÉcriture en chaîne | Non pris en charge | Supporté. Par exemple : 1$userObj->fields('uid')->where('uid>0')->find(); | tableau >
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!