2010-12-07 19 views
2

私はこれを行うにしようとしています:日付関数でクラス変数を初期化しますか?

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

をしかし、明らかに、上記の構文エラーによる失敗しています。

誰かがこれを行う別の方法を教えてもらえますか?

私はこのようなdateTime変数を約100秒持っているので、コンストラクタを使用することは実際には有益なものではありませんが、私はまだこれを行うことを可能にするのをまだ待っています。

答えて

5

あなたは本当にそれがクラス変数にしたい場合は、それstaticください:

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

それとも、あなたはそれがインスタンス変数になりたい場合:

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

ヤコブの答えは完全に間違っています。

簡単に言えば、は、クラス内および関数外からの関数呼び出しを行うことはできません。

この

class A { 
    public static $var1 = date('c'); 
} 
それでも以内にあなたの変数をインスタンス化し、その後、 date()

にしかし、あなたがしなければならない場合

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

使用selfまたはstaticコールを作っているよう

は動作しません クラスコンストラクタどちらもdifferent thingsです。

関連する問題