Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufen sich statische und nicht statische Methoden in PHP gegenseitig auf?

Wie rufen sich statische und nicht statische Methoden in PHP gegenseitig auf?

coldplay.xixi
coldplay.xixiOriginal
2020-07-23 12:03:413520Durchsuche

Wie sich statische Methoden und nicht statische Methoden in PHP gegenseitig aufrufen: 1. Nicht statische Methoden rufen statische Methoden auf: Sie können in der Form [self] oder dem Klassennamen plus [::] aufgerufen werden. 2. Statische Methoden rufen nicht statische Methoden auf: In einer statischen Methode in einer Klasse müssen Sie das Objekt instanziieren und dann die Methode in der Klasse aufrufen.

Wie rufen sich statische und nicht statische Methoden in PHP gegenseitig auf?

Wie sich statische Methoden und nicht-statische Methoden in PHP gegenseitig aufrufen:

Statische Methoden rufen nicht-statische Methoden auf Methoden: In der statischen Methode in der Klasse müssen Sie das Objekt instanziieren und dann die Methode in der Klasse aufrufen

Nicht statische Methode ruft statische Methode auf: Sie können sie in der Form oder der Klassenname plus self::

Wie im folgenden Fall:

<?php
class A{
    public function noneStaticFun(){
        echo  __CLASS__." none static function<br/>";
    }
    public static function staticFun(){
        echo __CLASS__." static function<br/>";
        //静态方法调用非静态方法,需要实例化对象然后再调用对象中的非静态方法
        (new A())->noneStaticFun();
    }
    public function testCallStaticFun(){
        echo "call static function<br/>";
        //调用本类的静态方法,使用 self关键字或者类名
        self::staticFun();
        //A::staticFun(); //也可以使用这种方式
        //调用其它类的静态方法,直接使用类名::方法名的形式调用
        B::myStaticFun();
    }
}
class B{
    public static function myStaticFun(){
        echo __CLASS__." static function<br/>";
    }
}
//演示
$testA = new A();
$testA->testCallStaticFun();
A::staticFun();

Laufergebnisse:

call static function
A static function
A none static function
B static function
A static function
A none static function

Verwandte Lernempfehlungen:

PHP Programmierung vom Einstieg bis zur Beherrschung

Das obige ist der detaillierte Inhalt vonWie rufen sich statische und nicht statische Methoden in PHP gegenseitig auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn