• SPL – Countable

    von am 8. Dezember 2008

    Heute wollen wir mal auf das einfachste Interface der SPL (Standard PHP Library) eingehen und zwar auf Countable. Es ist das einfachste, da es genau eine öffentliche Methode gibt, die es zu implementieren gilt: count( ). Ihr werdet nicht erraten, was sie macht. Sie zählt. Dieses Interface gilt es also immer da zu implementieren, wo es um Mengen, Listen oder andere Gruppen geht.

    class List implements Countable
    {
      public function count( )
      {
        return $this->getSize( );
      }
    
      // ...
    }

    Dieses Beispiel sollte wohl jedem verständlich sein. Viel gewonnen haben wir aber bis jetzt nicht, denn ob ich eine Methode Count oder getSize oder Size nenne, spielt in den meisten Fällen keine Rolle. Es gibt aber zwei mehr oder weniger gute Argumente es trotzdem zu machen. Zum einen schafft man so Konsistenz, denn eine durchgängige Benennung von Methoden, die eine Größe ausgeben in vielen PHP Projekten ist doch schon mal nicht verkehrt. Der zweite Vorteil ist die Verwendung von PHP Standardfunktionen, wie zum Beispiel count. Klingt jetzt verwirrend, ich weiß. Deswegen hier ein weiteres Code Beispiel:

    $list = new List;
    echo 'List Size: '.count( $list );

    Durch die Kombination mit den Array Interfaces, kann man es so schaffen eine Klassen zum implementieren, die sie genau wie ein PHP Array verhält, aber zum Beispiel Typsicherheit mit sich bringt.

    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

    2 Kommentare »


    • Malte
      am 9. Dezember 2008 um 22:13 Uhr

      Schon mal geprüft ob die Fehlermeldungen der SPL nicht noch einfachere Interfaces haben, weil diese noch nicht ein mal implementiert werden müssen?


    • Nils Langner
      am 9. Dezember 2008 um 23:08 Uhr

      :) Das kann natürlich sein. Aber was ganz anderes: Respekt vor deiner Kommentieraktion gestern. So etwas sieht man gerne!

    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.