Door
Ozzie PHP
op 25-11-2013 11:41
gewijzigd op 25-11-2013 11:49
6.560 views
Ola,
Als er in mijn applicatie iets fout gaat, dan wil ik daar een error-level aan kunnen koppelen.
Zelf dacht ik om gebruik te gaan maken van 3 gradaties:
1) notice: een kleine fout, bijv. een user vult een getal in in plaats van een string
2) warning: een serieuze fout, bijv. een file kan niet worden opgeslagen
3) error: er gaat iets goed mis, bijv. er kan geen database-verbinding tot stand komen
Een notice zou ik dan alleen loggen in een log-bestand. Een warning zou ik zowel loggen als mailen, en bij een error zou ik loggen en mailen en de rest van de applicatie stoppen.
Zijn deze 3 gradaties toereikend volgens jullie? Of zijn er nog tussenstappen te bedenken, en zo ja welke?
De standaard serialize() functie kan overweg met de magic method __sleep() en classes die de Serializeable interface implementeren en dus een serialize() method hebben.
unserialize() kan overweg met magic method __wakeup() en Serializeable::unserialize() implementaties.
OK, ze kunnen overweg met elk object, maar ze doen iets speciaals in die gevallen.
Merk op dat __sleep() en __wakeup() niet hetzelfde zijn als de Serializable implementaties. De __sleep() en __wakeup() methods zijn bedoelt voor het uitvoeren van speciale taken voor een object wordt geserialized/geunserialized.
De serializable geven de serialized data terug. Hiermee kun je dus zeggen, hé ipv het hele RouteCollection object te cachen cache je alleen maar zijn routes, dat bespaard ruimte! En ook kun je zelf bepalen op welke manier je wilt serializen, je kunt je eigen formaat gebruiken, of xml bijv., of gewoon de serialize functie.
Maar dan alsnog, ik kan nog wel heel veel andere properties hebben die wat mij betreft echt niet gecached hoeven te worden (of zelfs niet gecached mogen worden).