Maison  >  Article  >  développement back-end  >  La différence entre statique et self en PHP

La différence entre statique et self en PHP

青灯夜游
青灯夜游avant
2020-04-02 09:43:422552parcourir

La différence entre statique et self en PHP

Une référence statique à la classe actuelle en utilisant self:: ou __CLASS__, selon la classe dans laquelle la méthode actuelle est définie :

L'utilisation de static:: n'est pas plus résolu Pour la classe dans laquelle la méthode actuelle est définie, elle est calculée pendant l'exécution réelle. Elle peut également être appelée « liaison statique » car elle peut être utilisée pour (mais sans s’y limiter) des appels à des méthodes statiques.

La liaison statique est PHP 5.3.0. Une fonction ajoutée est utilisée pour référencer des classes appelées statiquement dans la portée de l'héritage

En termes simples,

Self fait référence. dans quelle classe il est écrit, et c'est cette classe qui est réellement appelée

static représente la classe utilisée, qui est la classe statique que vous écrivez dans la classe parent, puis elle. est remplacé par la sous-classe. Ce qui est utilisé est la méthode ou l'attribut de la sous-classe

<?php
class Person
{
    public static function name()
    {
        echo "111";
        echo "<br />";
    }
    public static function callself()
    {
        self::name();
    }

    public static function callstatic()
    {
        static::name();
    }
}

class Man extends Person
{
    public static function name()
    {
        echo "222";
        echo "<br />";
    }
}

Man::callself();  // output: 111
Man::callstatic();  // output: 222
?>

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer