dongxixiu9134 2017-03-07 18:44
浏览 54
已采纳

php - 无法在类[duplicate]中的变量定义中调用time()

This question already has an answer here:

I have a class that I need to use php's time() function in:

<?php
class SomeClass {
    public $expiration = time() + (21 * 24 * 60 * 60); // 3 wks from now  

}

However this throws:

Parse error: syntax error, unexpected '(', expecting ',' or ';' in [...][...] on line 5

I can do this and it works:

<?php
class SomeClass {
    public $expiration = 0

    function __construct() {
        $this->expiration = time() + (21 * 24 * 60 * 60); 
    }
}

Why is it that I can't do it the first way?

</div>
  • 写回答

2条回答 默认 最新

  • dongyunwei8596 2017-03-07 18:49
    关注

    Why is it that I can't do it the first way?

    Because http://php.net/manual/en/language.oop5.properties.php:

    "[properties] are defined by using one of the keywords public, protected, or private, followed by a normal variable declaration. This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated."

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?