PHP 8.1 での DOMDocument シリアル化
P粉891237912
P粉891237912 2024-01-16 11:19:03
0
1
581

私は、特に PHP 8.1 で実行する場合に、次のクラスをネイティブ PHP シリアル化と互換性のあるものにしようとしています。

リーリー

以前の PHP バージョンではすべて問題ありませんでしたが、8.1 では キャッチされない例外: 'SerializedDomDocument' のシリアル化は許可されていません このようなオブジェクトを Serialize() 関数に渡そうとすると、

がスローされます。このような例外を生成するコードの例は、https://3v4l.org/m8sgc です。

PHP 7.4 で導入された __serialize() / __unserialize()

メソッドは知っていますが、それらを使用しても役に立たないようです。次のコード スニペットは、https://3v4l.org/ZU0P3 で確認されたのと同じ例外を引き起こします。

リーリー

私はこの問題について非常に混乱しているので、ヒントをいただければ幸いです。現時点では、今後の唯一の方法は、明示的なノーマライザー/デノーマライザーを導入することだと思われます。これにより、コードベース API に大幅な変更が発生します。この状況は避けたいです。 ###
P粉891237912
P粉891237912

全員に返信(1)
P粉041881924

2021 年 8 月 10 日に、この変更はバージョン 8.1 RC1 にコミットされました:

DOM クラスをシリアル化不可能としてマークする

したがって、これらのクラスをシリアル化することはできなくなります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート