我正在使用PHP登录类.我在类定义中有以下行:
private $salty = sha1('salty');
Run Code Online (Sandbox Code Playgroud)
...这给了我以下错误:
"解析错误:解析错误,期待','' or';''在第26行的C:\ xampp\htdocs\test\includes\jaLogin.php"
我已经尝试在类定义之外使用这一行并且它工作正常,只有当我在类定义中使用它时才会出现问题.
如果我删除"私人"一词,我会得到一个稍微不同的错误:
解析错误:解析错误,期望第26行的C:\ xampp\htdocs\test\includes\jaLogin.php中的"T_FUNCTION"
我觉得我错过了一些明显的东西......
您不能使用函数调用来初始化类成员变量.
class YourClass
{
private $salty;
public function __construct()
{
$this->salty = sha1('salty');
}
}
Run Code Online (Sandbox Code Playgroud)
是初始化变量的一种方法.
编辑
甚至,例如,不允许两个常量字符串的简单连接(protected $_string = 'Hello ' . 'World!';).类属性的评估发生在编译时,因此依赖于运行时信息的构造的使用是非法的.
[...]此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估.
(属性)
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |