代码之家  ›  专栏  ›  技术社区  ›  Starx

用表达式初始化类变量时出错

  •  2
  • Starx  · 技术社区  · 14 年前

    为什么会出错?

    class content {
        protected $id,$title,$content,$image,$imagedirectory,$page;
        protected $sid = md5(time()); //In this line : parse error, expecting `','' or `';''
    }
    
    1 回复  |  直到 12 年前
        1
  •  7
  •   Starx    14 年前

    md5(time()) 是表达式。

    字段初始化不允许使用表达式,只允许使用文本。

    相反,你可以这样做:

    class content {
        protected $id, $title, $content, $image, $imagedirectory, $page, $sid;
    
        public function __construct()
        {
            $this->sid = md5(time());
        }
    }