【发布时间】:2011-11-28 12:08:44
【问题描述】:
我在一本 PHP 书籍中看到了这段代码(PHP 架构师,ZEND PHP 5 认证指南第 141 页)
class foo{
public $bar;
protected $baz;
private $bas;
public var1="Test"; //String
public var2=1.23; //Numericvalue
public var3=array(1,2,3);
}
它说
在 PHP 中使用 PPP 运算符之一声明属性,然后是它们的 名称:
请注意,与普通变量一样,类属性可以在它被初始化时被初始化 宣布。但是,初始化仅限于分配值(但不是通过 评估表达式)。例如,您不能通过调用函数来初始化变量——这是您只能在类的方法之一中执行的操作(通常, 构造函数)。
我不明白var1, var2, var3 是如何声明的。不违法吗?
【问题讨论】:
-
显然是一个错误。我的副本有同样的故障,即使它似乎是不同的版本(我在第 122 页有这个列表)
-
您确定您复制的所有内容都正确吗?
-
这是一个错字。你可以有一个像这样设置的常量,并且没有'$'。按照惯例,它们通常采用 UPPER_CASE。 "const VAR1 = '测试';"
标签: php variables zend-certification