2016-06-28 18 views
-2

Ich schrieb mein eigenes Plugin und ich möchte auf meine Plugin-Optionen in einer Config-Klasse zugreifen. Hier ist ein Beispiel für meinen Code.Zugriff get_option innerhalb einer Klasse

class Config { 
private $var = get_option('option'); 

public function getMyOption() { 
    return $this->var; 
} 
} 

Aber ich bekomme diese Fehlermeldung:

parse error: syntax error, unexpected '(', expecting ',' or ';' in 

Das Problem hier iSt, wie kann ich die Optionswerte in einer Klasse verwenden? Kann mir jemand erklären, wie ich auf den Wert get_option in einer Klasse zugreifen kann?

+1

Sie müssen es im Konstruktor tun oder es irgendwo in einer Methode initialisieren. ["Diese Deklaration kann eine Initialisierung enthalten, aber diese Initialisierung muss ein konstanter Wert sein. Das heißt, sie muss zur Kompilierzeit ausgewertet werden können und darf nicht von Laufzeitinformationen abhängen, um ausgewertet zu werden."] (http://php.net/manual/de/language.oop5.properties.php) – PeeHaa

Antwort

0

Sie können Funktionsaufrufe bei Eigenschaftsinitialisierungen nicht verwenden, Sie können nur mit Literalen initialisieren. Sie müssen es im Klassenkonstruktor tun.

class Config { 
    private $var; 

    public function __construct() { 
     $this->var = get_option('option'); 
    } 

    public function getMyOption() { 
     return $this->var; 
    } 
}