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条)

相关推荐 更多相似问题