web-dev-qa-db-fra.com

L'expression n'est pas autorisée comme valeur par défaut du champ

J'essaye de faire $app disponible pour toute la classe.

Tout d'abord, je reçois:

"L'expression n'est pas autorisée comme valeur par défaut du champ"

Deuxièmement, à la ligne 5, je reçois:

Variable non identifiée $ app

Comment puis-je atteindre mon objectif?

class UserController extends XController
{
    var $app = Yii::app();;
    public function init()
    {
        $test = $app;
18
Vasil Gerginski

Vous ne pouvez pas appeler une méthode pour définir une valeur par défaut pour une variable en PHP, même s'il s'agit d'une méthode statique. Modifiez-le pour qu'il soit défini dans le constructeur:

use Yii;

class UserController extends XController    
{
    var $app;

    function __construct() {
        $this->app =  = Yii::app();
    }

    public function init()    
    {
        $test = $this->app;
    } 
}

En tant que sidenote, vous ne devez pas utiliser le mot clé var dans PHP versions> 4, voir cette question pour l'explication.

27
bpoiss