Maison >développement back-end >Problème PHP >Que signifie php statique ?

Que signifie php statique ?

藏色散人
藏色散人original
2021-06-10 09:08:252845parcourir

php static est un mot-clé en PHP. L'utilisation du mot-clé static signifie que le membre est un membre statique. Une seule copie sera conservée lors du processus de chargement de la classe. Toutes les opérations sur les variables statiques fonctionneront. .

Que signifie php statique ?

L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3

Que signifie php statique ?

Le rôle et la différence du mot-clé static en PHP

static en PHP est différent des autres langages orientés objet tels que Java. objet uniquement Les méthodes statiques sont accessibles, mais les membres statiques ne sont pas accessibles.

L'utilisation du mot-clé static signifie que le membre est un membre statique. Une seule copie sera conservée lors du processus de chargement de la classe. Toutes les opérations sur les variables statiques affecteront tous les objets

Variables statiques. en PHP ne peut pas être appelée par des objets instanciés, les méthodes statiques peuvent être appelées par des objets

// ----类内部----
// 调用普通成员
this->name;
// 调用静态成员
self::name_static;
// ----类外部----
// 调用普通成员需要实例化使用
Car c = new Car();
c->name;
// 调用静态方法
c::fun()  <==>  Car::fun()
// 调用静态变量
Car::name;

Analyse d'un morceau de code :

class Car
{
    private $name;
    private static $type = "Car";
    function __construct($name)
    {
        $this->name = $name;
        echo "Car " . $name . " has created!\n";
    }
    public static function getType()
    {
        echo self::$type . "\n";
    }
    public function getName()
    {
        echo "Car name is " . $this->name . "\n";
    }
    function __destruct()
    {
        echo "Car " . $this->name . " has destory!";
    }
}

Une classe d'entité définit un constructeur, une fonction statique et un Fonction ordinaire, un destructeur, une variable membre ordinaire et une variable membre statique.

Utilisez PHPunit pour tester

class  test extends PHPUnit_Framework_TestCase
{
    public function test_car()
    {
        $car = new Car("BMW");
        $car::getType();
        $car->getName();
    }
}

Vous pouvez obtenir le résultat :

Car BMW has created!
Car
Car name is BMW
Car BMW has destory!

[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!

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