2016-07-28 12 views
0

Was ich versuche zu tun ist, die Variable $ var static zu der Klasse zu machen, die abstrakte Klasse A erweitert, ohne sie sonst wo neu deklarieren zu müssen.Wie man eine abstrakte Variable statisch zu einer Unterklasse macht

Also sage ich vielleicht mehrere Objekte aus der Klasse B, die erweitert A, ich möchte alle Objekte aus der Klasse B den gleichen $ var Wert teilen.

sagen, dass ich dann Objekte erstellen, basierend auf der Klasse C, sie sollten alle den gleichen Wert von $ var teilen ...

Dies ist das Ergebnis, das ich zur Zeit bin immer:

BC 
CC 

jedoch was ich suche ist:

BC 
BC 

Dank

Antwort

2

Probieren sie es wie folgt aus:

#setting 
    public function setVar() { 
    static::$var[get_class($this)] = 'B'; 
    } 
    #getting in abstract 
    public function returnVar() { 
     return static::$var[get_class($this)]; 
    } 
    #add this in the abstract class 
    public function setVar(); 
+0

Funktioniert perfekt, danke. :) – Addil

Verwandte Themen