PHP neu statisch ($ Variable)

8
%Vor%

All dies sind innerhalb einer Klasse innerhalb einer Methode, ich versuche technisch zu verstehen, was dieses Stück Code tut. Ich bin in der Google-Welt herumgelaufen. Kann aber nichts finden, was mich zu einer Antwort führt. Ist das nur eine andere Art zu sagen.

%Vor%

Auch was ist das

%Vor%

Bedeutet das, dass ich eine Variable initialisiere und ihren Wert auf null setze, aber ich behalte nur die Variable bei, um den Wert nicht zu verlieren, nachdem ich die Methode ausgeführt habe?

    
Andrew Tan 07.06.2013, 06:09
quelle

6 Antworten

8

static bedeutet in diesem Fall den aktuellen Objektumfang. Es wird in der späten statischen Bindung verwendet.

Normalerweise wird das mit self identisch sein. Die Position, an der es sich unterscheidet, ist, wenn Sie eine Objektherarchie haben, in der der Verweis auf den Bereich für einen übergeordneten Bereich definiert ist, der jedoch für das untergeordnete Objekt aufgerufen wird. Selbst würde in diesem Fall den elterlichen Geltungsbereich referenzieren, während static auf das Kind verweisen würde

%Vor%

Am einfachsten ist es, über das Selbst als den definierenden Bereich und das statische Objekt als den aktuellen Objektbereich nachzudenken.

    
Orangepill 07.06.2013 06:20
quelle
2

Bitte schauen Sie sich den folgenden Link an, um sich über neue Static () zu informieren.

Neues Selbst gegen neue statische

    
quelle
2

self ist einfach ein "Verknüpfungsname" für die Klasse, in der es auftritt. static ist sein neueres späte statische Bindung Cousin, die sich immer auf die aktuelle Klasse bezieht. I.e. Wenn eine Klasse erweitert wird, kann static auch auf die Kindklasse verweisen, wenn sie aus dem Kindkontext aufgerufen wird.

new static bedeutet nur neue Instanz der aktuellen Klasse erstellen und ist einfach der dynamischere Cousin von new self .

Und ja, static == dynamischer ist seltsam.

    
deceze 07.06.2013 06:54
quelle
1

Sie müssen es in den Kontext einer Klasse stellen, in der static eine Referenz auf die Klasse ist, in der es aufgerufen wird. Wir können optional $variable als Parameter an die% co_de übergeben % Funktion der Instanz, die Sie erstellen.

Wie so:

%Vor%

Hier verweist __construct auf static und wir übergeben die Variable 'some parameter' als Parameter an die Funktion myClass .

    
wranvaud 30.06.2017 04:31
quelle
0

Sie können new static() verwenden, um eine Gruppe von Klassenobjekten innerhalb der Klasse zu instanziieren und sie mit Erweiterungen der Klasse arbeiten zu lassen.

%Vor%     
Buttle Butkus 07.06.2013 07:00
quelle
-2

Das Schlüsselwort new wird verwendet, um ein Objekt der bereits definierten Klasse zu erstellen

$ model = new static ($ Variable);

Also hier ist ein Objekt des erstellten Modells, das eine Instanz der Klasse static

ist     
mmratxs 07.06.2013 06:11
quelle

Tags und Links