0
私の仕事では、オブジェクトのシリアル化(XML出力用)の一種を書くのは非常にいいですね。私はすでにそれをやったことがありますが、再帰的なリンクを避ける方法はありません。PHPハンドメイドのシリアル化の問題
問題は、一部のオブジェクトでは、その親へのリンクを持つパブリック(!)プロパティが必要であるということです(本当にnessecaryです)。そして、私はいくつかの子供を束縛する親オブジェクトを直列化しようとすると、親へのリンクを持つ子供は永遠に再帰を行います。
print_r()がハックすることなく再帰を処理するソリューションはありますか? 「if($ prop === 'parent')」のようなものは使用できません。異なるコンテキストの親に複数のリンクがあることがあります。
はnitpickerしてはならないが、それは当然のようになります: 戻ります$ this->シリアル化PHP5(私はあなたがPHP5を使用している、と仮定)オブジェクトに常にコピー参照するので、次の操作を行うことができます(); – n3rd
私には恥...すでに使用されているインスタンスのリストはかなり良い解決策です!私は外部からでもそれを行うことができ、すべてのクラスに直列化メソッドを提供する必要はありません。 すてきな答えをありがとうございました。 PS:もちろん、btw、はいphp5。 OOPについてのphp4の質問では、一段階もっと汚いIMHOです。 – Jet
@ n3rd:thx、fixed – soulmerge