Uchwycić moment…

menic’s devBlog

unserialize() i SimpleXML Object

Chciałem sobie napisać mała klase do obsługi cache SimpleXML. Cel był taki, aby przy każdym rządaniu nie parsować pliku za pomocą simplexml_load_file(), tylko zrobić unserialize() poprzednio zserializowanego obiektu. serialize() przebiegło bez problemu. Gorzej niestety w drugą stronę. Wykonanie unserialize() na zserializowanym obiekcie skutkuje takim o to błedem

Warning: unserialize() [function.unserialize]: Node no longer exists in ….

Tak wiec pomysł z klasą cache został pogrzebany :|

5 Comments so far

  1. devnul kwiecień 3rd, 2007 1:36 pm

    a ja się nie dziwie - simplexml odwołuje sie przez referencje do obiektów potomnych dlatego z jego serializacji i deserializacji nici

  2. menic kwiecień 3rd, 2007 1:53 pm

    Serializacja sie udaje. W drugą strone nie działa.

  3. matipl kwiecień 3rd, 2007 6:41 pm

    Jest taki sobie opis przy serialize/unserialize:
    “It is not possible to serialize PHP built-in objects.”
    Ja miałem podobny problem z SimpleXML.

  4. MAX kwiecień 4th, 2007 1:37 pm

    A ja zapytam: po co? Czemu miał służyć ten cache??

    Mam nieodparte wrażenie, że chciałeś zamienić wczytywanie danych z pliku A na wczytywanie danych z pliku B :P

  5. menic kwiecień 4th, 2007 8:15 pm

    Chciałem zaoszczędzić na każdorazowym parsowaniu xml’a…

Leave a reply

Mexico