【发布时间】:2020-03-12 10:31:35
【问题描述】:
我正在使用 Synfony 4 开发一个网站并创建了一个管理员登录。我使用了序列化和反序列化。
/**
* @inheritDoc
*/
public function serialize()
{
// TODO: Implement serialize() method.
return serialize([
$this->id,
$this->username,
$this->password
]);
}
/**
* @inheritDoc
*/
public function unserialize($serialized)
{
// TODO: Implement unserialize() method.
list(
$this->id,
$this->username,
$this->password
) = $this->unserialize($serialized, ["allowed_classes" => false]);
}
最后$this->unserialize($serialized, ["allowed_classes" => false]); 不起作用并显示 “方法调用提供了 2 个参数,但方法签名使用 1 个参数” 作为 Intellij IDEA 中的错误。
我不明白这是什么意思,也找不到任何相关信息。
我认为基本方法只需要unserialize($serialized) 或类似的东西,但是当我填写表格并发送它时,什么也没有发生。
【问题讨论】:
-
$this->unserialize()和 PHP 内部的unserialize()不一样——你想要第二个 -
$this->unserialize??那就是调用您已经使用的方法。1)位循环 2)$this->unserialize()只有一个参数,而您正在传递 2 个参数。松开$this,这样你就只调用unserialize()
标签: php symfony web serialization symfony4