2016-10-04 4 views
3

これは確かに非常に簡単な質問ですが、私はどこでも答えを見つけることができません。現在の時間を知る必要があるPHPクラスを作成しています。クラスでPHP time()関数を使用

このコードは動作します:

class className{ 
    private $currentTime = 1475607467; 
[...] 
} 

このコードはしていません:

class className{ 
    private $currentTime = time(); 
[...] 
} 

できますか? "time()"は同じ10桁の数字を返すので、これらは等価ではないでしょうか?

+0

どのように動作しませんか? –

+0

インラインに設定するのではなく、コンストラクタで変数を設定しようとしましたか? –

+0

プロパティの宣言は、式ではなく定数でなければなりません。コンストラクタを使用します。 – mario

答えて

6

私はあなたがコンストラクタでそのプロパティを移入勧め:

class className 
{ 

    private $currentTime; 

    public function __construct() 
    { 
     $this->currentTime = time(); 
    } 

    [...] 
} 

はあなたの時間を取り、クラスのプロパティに慎重this section of PHP documentationをお読みください。これにより、将来あなたのために多くの時間を節約できます。マリオはすでに指摘したように、あなたが式を使用してプロパティを宣言することはできません

Class className 
{ 
    private $currentTime; 
    Function __construct() 
    { 
     $this-> currentTime = time(); 
    } 
} 
2

はこれを試してみてください。クラスのプロパティを初期化するためにconstruct関数を使用することができます:

class className{ 

    private $currentTime; 

    public function __construct() 
    { 
     $this->currentTime = time(); 
    } 
    [...] 
} 
関連する問題