2010-12-07 7 views
2

Je suis en train de le faire:Initialiser une variable de classe avec la fonction de date?

class A { 
public $var1 = date('U'); 
} 

Mais, évidemment, au-dessus est un échec dû à une erreur de syntaxe.

Quelqu'un peut-il me faire savoir d'une autre façon de le faire. J'ai environ 100s de telle variable dateTime et par conséquent, en utilisant un constructeur n'est pas vraiment ce qui peut être bénéfique, cependant, j'attends toujours de toute façon possible de le faire.

Répondre

5

Faites static si vous le voulez vraiment être une variable de classe:

class A { 
    public static $var1 = date('U'); 
} 

Ou, si vous voulez qu'il soit une variable d'instance:

class A { 
    public $var1; 
    function __construct() { 
     $this->var1 = date('U'); 
    } 
} 
4

La réponse de Jacob n'est pas tout à fait correct .

En d'autres termes, vous ne pouvez pas effectuer des appels de fonction à l'intérieur d'une classe et en dehors d'une fonction.

Ce

class A { 
    public static $var1 = date('c'); 
} 

ne fonctionne pas comme vous faites toujours un appel à date()

Mais si vous devez, puis

class A { 
    public static $var1; 
     public function __construct() 
    { 
     static::$var1 = date("c"); 
    } 
} 

Utilisez self ou static instancier votre variable dans le constructeur de classe. Les deux font different things.

Questions connexes