2010-01-15 6 views
4

Je pense que c'est une question vraiment très simple, mais je n'arrive pas à trouver la réponse.Définition de la date d'une variable dans une classe PHP

Je suis en train de définir des valeurs par défaut pour les propriétés dans une classe PHP et l'un d'eux est une date, donc je suis en train d'utiliser la fonction date() pour le définir:

<?php 
class Person 
{ 
    public $fname = ""; 
    public $lname = ""; 
    public $bdate = date("c"); 
    public $experience = 0; 
} 
?> 

Je m obtenir une erreur dans Zend studio qui sur la ligne publique de bdate de $ qui dit

PHP Parse error: syntax error, unexpected '(', expecting ',' or ';' 

J'ai regardé à travers un tas de documentation sur les différentes classes de date en PHP et la documentation de classe/Propriétés, mais je ne peux pas Trouvez des exemples de définition d'une valeur de date pour une propriété. J'ai essayé mktime() et certaines des autres classes de date mais j'ai toujours la même erreur.

Comment définir une valeur de date pour une propriété dans PHP?

Répondre

10

Vous ne pouvez pas utiliser un appel de fonction ou une variable en dehors d'une fonction à l'intérieur d'une classe. Les valeurs par défaut doivent être statiques.

Les affectations suivantes sont valables:

public $data = "hello"; 
public $data = array(1,2,3,4); 
public $data = SOME_CONSTANT; 

Ne sont pas:

public $data = somefunction(); 
public $data = $test; 

Vous pouvez cependant utiliser un constructeur:

public function __construct() 
{ 
    $this->bdate = date("c"); 
} 
+2

impressionnant, qui fait sens. Merci! – ryanstewart

Questions connexes