Comment sérialiser / désérialiser un objet SimpleXML?
J'ai vu un peu des solutions créatives pour traiter avec un SPL objets, mais je suis à la recherche pour plus d'options (ou extensions). J'magasin imbriquée d'objets sérialisés - dont l'un est SimpleXML - dans la base de données, seulement à être non-sérialisé plus tard. C'est évidemment la cause de certains problèmes.
$s = new SimpleXmlElement('<foo>bar</foo>');
$ss = serialize($s);
$su = unserialize($ss);
//Warning: unserialize() [function.unserialize]: Node no longer exists...
Quelqu'un a une aperçu de la grande fiabilité des méthodes pour gérer les sérialisé SPL objets? __sleep()/__wakeup() remplace? Cast-à-stdClass? Cast-à-string, puis sérialiser?
Toute aide est appréciée.
[Modifier: la portée et La variation de ces schémas XML sont trop variées à la carte avec un ORM. Ils sont, à leur niveau le plus fondamental, de l'arbitraire des charges utiles dans la dynamique des processus, déclenché dans restful Api.]
source d'informationauteur allnightgrocery
Vous devez vous connecter pour publier un commentaire.
Des Questions sur la pertinence nonobstant, vous pouvez le réactiver en XML comme ceci:
Et puis, lorsque vous la tirez de la base de données:
Que pour savoir si c'est approprié pour juste sérialiser les gros morceaux de XML, il peut être vrai que la mise en XML dans la base de données supprime une grande partie de l'avantage de l'utilisation d'un système relationnel, vous avez l'avantage de pouvoir accueillir un arbitraire de la charge de travail. Si certains champs sont universels, et/ou de vous faire du profit à partir de normaliser correctement (par exemple, vous voulez sélectionner en fonction de ces champs), déplacez ces normalisées colonnes.
Plus claire et la programmation orientée objet.
et de l'appel de
Ne serait pas tout simplement le rendu et le stockage de l'XML être la meilleure façon de sérialiser un objet qui représente une structure XML?
Ce que vous essayez de faire avec les données sérialisées, qui pourrait empêcher cela?
edit:
Aussi,
Pourquoi êtes-vous le stockage de PHP de données sérialisées dans une base de données? Il y a beaucoup de meilleures façons de stocker des objets dans une base de données.