gpt4 book ai didi

php - 不能在类定义中使用 sha1 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:20 26 4
gpt4 key购买 nike

我正在使用 PHP 编写登录类。我在类定义中有以下行:

private $salty = sha1('salty');

...这给了我以下错误:

“解析错误:解析错误,期待 ','' or';'' in C:\xampp\htdocs\test\includes\jaLogin.php on line 26"

我已经尝试在类定义之外使用这一行并且它工作正常,只有当我在类定义中使用它时才会出现问题。

如果我删除“private”这个词,我会得到一个稍微不同的错误:

解析错误:解析错误,在第 26 行的 C:\xampp\htdocs\test\includes\jaLogin.php 中期待“T_FUNCTION”

我觉得我错过了一些明显的东西......

最佳答案

您不能使用函数调用来初始化类成员变量。

class YourClass
{
private $salty;

public function __construct()
{
$this->salty = sha1('salty');
}
}

是初始化变量的一种方法。

编辑

甚至,例如,两个常量字符串的简单连接也是不允许的(protected $_string = 'Hello ' . 'World!';)。类属性的评估发生在编译时,因此使用依赖于运行时信息的构造是非法的。

[...] This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.

( Properties )

关于php - 不能在类定义中使用 sha1 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1755574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com