分配公共属性时出错

时间:2011-11-11 12:48:31

标签: php properties

function CharField($len)
{
    return "VARCHAR($len)";
}


class ArticleModel extends Model
{
    public $name = CharField(100); // Error Here
}

当我使用函数的返回值分配这样的公共属性时,它会抛出错误:

  

PHP解析错误:语法错误,意外'(',期待','或';'在/var/www/test/db.php

原因是什么?

3 个答案:

答案 0 :(得分:2)

您只能使用常量初始化属性:

  

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

     

[Properties]通过使用public,protected或private之一,然后是普通变量声明来定义。此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。

确实,在构造函数中初始化它们。

答案 1 :(得分:1)

初始化构造函数中的值

答案 2 :(得分:0)

根据manual,您只能在实例化类属性时指定常量值。