Maison > Article > développement back-end > Quelle est la différence entre les méthodes statiques php et les méthodes instanciées
Différence : 1. Les méthodes statiques peuvent être appelées directement sans avoir besoin d'ouvrir de l'espace ni d'autres opérations, tandis que les méthodes d'instance doivent ouvrir de l'espace ; 2. Les méthodes statiques partagent un espace et les mêmes données, tandis que les méthodes d'instance ne partagent pas les mêmes. espace et données ; 3. , Les méthodes statiques ne prennent pas en charge l'écriture en chaîne, mais les méthodes d'instance prennent en charge l'écriture en chaîne.
L'environnement d'exploitation de cet article : système Windows 10, PHP version 7.1, ordinateur Dell G3.
Les méthodes statiques n'occupent qu'une copie de la mémoire et sont créées lorsque le code est chargé. Les méthodes ou classes d'instanciation ne sont créées que lorsqu'elles sont nouvelles. Chaque objet instancié représente une instance différente et il n'existe qu'une seule copie statique. Portez une attention particulière au fait que les méthodes statiques partagent des ressources en multi-threads.
Différences :
1. L'appel de méthode statique ne nécessite pas de nouveau nom de classe :: nom de méthode.
Par exemple :
User::find();
Remarque : les propriétés non statiques ne peuvent pas être appelées dans les méthodes statiques.
Les méthodes d'instance nécessitent de nouvelles.
Par exemple :
12$userObj = new User;$userObj->find();
2. Il n'y a qu'une seule copie des méthodes statiques en mémoire et les ressources sont partagées au sein d'un cycle de vie PHP.
Remarque : les méthodes et propriétés statiques sont chargées au fur et à mesure que la classe est chargée, donc trop de méthodes statiques consommeront plus de mémoire.
Chaque fois qu'une méthode d'instance est nouvelle, un espace indépendant sera ouvert, c'est-à-dire qu'il y aura plusieurs copies dans la mémoire.
3. Performances des méthodes statiques : appel direct, pas besoin d'ouvrir de l'espace et d'autres opérations, meilleur en termes de temps et d'efficacité
Les méthodes d'instance nécessitent un certain temps pour ouvrir l'espace et les autres opérations
4. même copie des données, dans certains scénarios, il est plus approprié d'utiliser des méthodes statiques
Exemple de méthode Plusieurs instances ne partagent pas le même espace et les mêmes données
5 L'écriture de chaîne de méthodes statiques n'est pas prise en charge
Prise en charge de la méthode d'instance. Par exemple :
1$userObj->fields('uid')->where('uid>0')->find();
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!