我正在使用 Synfony 4 開發(fā)一個網(wǎng)站并創(chuàng)建了一個管理員登錄。我使用了序列化和反序列化。 /** * @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]);不起作用并顯示“方法調(diào)用提供了 2 個參數(shù),但方法簽名使用 1 個參數(shù)”作為 Intellij IDEA 中的錯誤。我不明白這意味著什么,也找不到任何關(guān)于它的信息。我認(rèn)為基本方法只是想要unserialize($serialized)或類似的東西,但是當(dāng)我填寫表格并發(fā)送它時,什么也沒有發(fā)生。
1 回答

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個贊
我們不知道這些方法的上下文,但使用$this->unserialize(...),您正在調(diào)用當(dāng)前函數(shù) ( public function unserialize($serialized){...})
您可能想要使用默認(rèn)的 PHP 序列化程序。因此,您可能應(yīng)該執(zhí)行以下操作:
public function unserialize($serialized)
{
list(
$this->id,
$this->username,
$this->password
) = unserialize($serialized, ["allowed_classes" => false]);
}
如果“什么都沒發(fā)生”,沒有關(guān)于該問題的更多信息,我們將無法為您提供幫助!您是否嘗試添加任何轉(zhuǎn)儲來檢查發(fā)生了什么?
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消