Serializace + unserializace objektu Mail
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- VasekPurchart
- Člen | 20
Ahoj, nerozumím tomu, proč tento kód vyhazuje vyjímku:
$mail = new Mail;
$serializedMail = serialize($mail);
$pMail = unserialize($serializedMail);
Vyjímku to vyhodí u metody __wakeup v třídě Component:
Line 357: /**
Line 358: * Prevents unserialization.
Line 359: */
Line 360: final public function __wakeup()
Line 361: {
Line 362: throw new NotImplementedException;
Line 363: }
Přitom podle https://api.nette.org/…il.Mail.html rozhodně nemá Mail s Component nic společného…?
A ještě bych se chtěl zeptat proč je to vlastně v Component vůbec zakázáno?
Editoval manik (24. 2. 2010 14:59)
- Mikulas Dite
- Člen | 756
Výjimka v tomhle místě tušim že vyskakuje když máš komponentu špatně registrovanou, nebo nějakou voláš ve špatnou chvíli. Zkontroluj si, že máš render až nakonec.
- VasekPurchart
- Člen | 20
No bylo to tím, že v mailu byla připojená template a tím pádem
i presenter a tam vznikla ta chyba.
Stačilo jen neukládat obsah jako template, ale přetypovat na string.