2016-06-28 13 views
-2

J'ai écrit mon propre plugin et je veux accéder à mes options de plugin dans une classe Config. Voici un exemple de mon code.Accès get_option dans une classe

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

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

Mais je reçois cette erreur:

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

Le problème ici ist comment puis-je utiliser les valeurs des options dans une classe? Est-ce que quelqu'un pourrait m'expliquer, comment je peux accéder à la valeur get_option dans une classe?

+1

Vous devrez le faire dans le constructeur ou l'initialiser quelque part dans une méthode. ["Cette déclaration peut inclure une initialisation, mais cette initialisation doit être une valeur constante - c'est-à-dire qu'elle doit pouvoir être évaluée au moment de la compilation et ne pas dépendre des informations d'exécution pour être évaluée."] (http://php.net/manual/en/language.oop5.properties.php) – PeeHaa

Répondre

0

Vous ne pouvez pas utiliser les appels de fonction dans les initialisations de propriété, vous pouvez uniquement initialiser avec des littéraux. Vous devez le faire dans le constructeur de la classe.

class Config { 
    private $var; 

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

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