• Zend_Log … irgendwie komisch

    von am 20. Februar 2009

    Seit kurzer Zeit verwenden wir das Zend Framework als Komponentenbibliothek. Und ich muss sagen, ich mag es wirklich. Die meisten Dinge sind gut durchdacht und greifen wunderbar ineinander. Heute war die Zend_Log Klasse dran ihren Einsatz zu finden. Besonders gelungen finde ich hier den Ansatz, dass man Filter und Writer getrennt hat. Separation of Concerns strikt durchgezogen. Bei einem Filter ist mir aber was komisches aufgefallen, denn hier werden Prioritäten meiner Meinung nach sehr “komisch” verglichen.

    Es handelt sich um die Zend_Log_Filter_Priority Klasse, die ihren Vergleich wie folgt macht:

        public function accept($event)
        {
            return version_compare($event['priority'], $this->_priority, $this->_operator);
        }

    Was ich daran ganz lustig finde, ist, dass der Vergleich mit version_compare gemacht wird. Diese Funktion wird eigentlich dazu verwendet zwei PHP Versionen zu Vergleichen (musste ich heute auch nachlesen). Das bedeutet, dass ich also eine Priorität “1.0 RC 1″ definieren kann und trotzdem der Vergleich mit anderen Prios klappt. Super! Super unnötig aber leider nur. Ich denke, dass diese Methode gewählt wurde, da man als Parameter den Vergleichsoperator mitgeben kann. Ansonsten müsste ich ja mit eval oder eine sehr lange switch Anweisung hätte.

    Eigentlich ja eine nette Idee, trotzdem nicht so performant denke ich. Den String, den ich da vergleichen will, muss ich ja erst normieren und auseinander nehmen. Aber naja, wenn es trotzdem noch schnell genug ist, warum nicht.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    Keine Kommentare »

    Noch keine Kommentare

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.