function CharField($len)
{
return "VARCHAR($len)";
}
class ArticleModel extends Model
{
public $name = CharField(100); // Error Here
}
当我使用函数的返回值分配这样的公共属性时,它会抛出错误:
PHP解析错误:语法错误,意外'(',期待','或';'在/var/www/test/db.php
原因是什么?
答案 0 :(得分:2)
您只能使用常量初始化属性:
http://www.php.net/manual/en/language.oop5.properties.php
[Properties]通过使用public,protected或private之一,然后是普通变量声明来定义。此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。
确实,在构造函数中初始化它们。
答案 1 :(得分:1)
初始化构造函数中的值
答案 2 :(得分:0)
根据manual,您只能在实例化类属性时指定常量值。