Heute möchte ich das „Kirby Toolkit“ vorstellen. Dieses kleine Projekt bietet uns eine hilfreiche „Helper-Sammlung“ für diverse Problemchen die man als Web-Entwickler hat. Speziell wenn es darum geht „mal eben schnell“ eine kleine Seite oder ein Formular aufzusetzen gibt es immer und immer wieder diese kleinen Dinge, die Zeit kosten.

Auftritt des Kirby Toolkit

Das Kirby Toolkit besteht aus einer einzigen Datei mit zirka 3400 Zeilen und verfügt über diverse Helper Klassen für verschiedene Bereiche – Hier ein auszug:

  • a (Array) – Mit einigen Wrappern-Methoden, die native Funktionen einfacher nutzbar machen und/oder erweitern.
  • browser – Zum herausfinden des user-agents, der Browser Version oder ob es sich um ein mobiles Gerät handelt.
  • content – Zum arbeiten mit Output Buffering, laden von Datei-Inhalten und setzen des Content Type.
  • db (Datenbank) – Um die Datenbank Nutzung etwas zu abstrahieren und sicherer zu gestalten.
  • dir (Directory) + f (File) – Für vielfältige Operationen auf Verzeichnis und Datei-Ebene.
  • l (Language) – Zum arbeiten mit verschiedenen Sprachen inkl. setzen der PHP Locales.
  • r (Request) – Unter anderem zum säubern von Daten (GET, POST) und rausfinden ob es sich um einen Ajax oder CRUD-Request handelt.
  • str (String) – Für viele nützliche String-Operationen
  • v (Validator) – Mit einer ganzen Reihe an Methoden zum valideren von E-Mail-Adressen, Datum, Passwörtern usw.

Das Kirby Toolkit erinnert mich des öfteren an die Helper-Klassen aus Kohana – So weit ich es gesehen habe sind alle Methoden der verschiedenen Klassen statisch und erlauben somit eine unkomplizierte und strukturierte Nutzung. Dabei fungieren die Klassen tatsächlich nur als eine Art „Gruppierung“, wirklich Objekt-Orientiert wird nicht gearbeitet.

Darüber hinaus gibt es ein paar Funktionen außerhalb der Klassen (u.a. zum weiterleiten via 301, 302 oder 303 Header, auslesen von GET Parameter, usw …).

Was bekommen wir?

Im Download-Paket sind außerdem einige Plugins und (leere PHPUnit) Test-Klassen enthalten. Unter anderem finden wir hier die folgenden Klassen…

  • Cache – Für einen kleinen, Dateisystem-basierenden, Cache mechanismus.
  • Crypt – Um beliebige Daten mit Hilfe von verschiedenen Algorithmen (rijndael-128, rijndael-256, blowfish, …) zu verschlüsseln.
  • Remote – Stellt einen Abstraktionslayer für cURL Operationen bereit.
  • Router – Bietet ein gut dokumentiertes Routing auf Basis von Strings inkl. Platzhalter (mit Optionaler Nutzung von Regulären Ausdrücken).
  • Template – Das Template Plugin funktioniert ähnlich wie der View Helper von Kohana – Es wird mit dem Output Buffer gearbeitet und jedes Template erhält seine eigenen zugewiesenen Variablen (via extract())
  • Upload – Für einen kleinen Upload-Helper der sich um alle lästigen Aufgaben kümmert

Eine Kleinigkeit die mir am Kirby Toolkit nicht so sehr gefällt, ist das häufiger mal mit Fehlerunterdrückung (via @-Operator) gearbeitet wird – Allerdings ist das dem Alter geschuldet: Das Kirby Toolkit entstand vor etwa sechs Jahren und wurde seitdem von Zeit zu Zeit mit neuen Helpern ausgerüstet.

Die Dokumentation

Das Kirby Toolkit verfügt über eine sehr schöne online Dokumentation. Diese umfasst alle Core-Klassen, deren Methoden und die zusätzlichen Funktionen.
Zu jeder Methode gibt es eine Erklärung und ein Code-Beispiel – Vorbildlich!

Doch wer steckt eigentlich dahinter?

Entwickelt wird Kirby beinahe ausschließlich von einer Person: Bastian Allgeier. Laut eigener Aussage -ich hatte eine kurze E-Mail Konversation mit ihm- möchte er das Toolkit allerdings gerne erweitern und an einigen Stellen gänzlich erneuern – Es ist also mit etwas Glück damit zu rechnen, dass das Projekt in nächster Zeit mit einigen Neuerungen protzen wird!

Übrigens – Das Kirby Toolkit ist auch bei github zu finden. Hier könnt Ihr euch stehts die aktuellste Version besorgen und ggf. Bugs oder Verbesserungsvorschläge aufzeigen. Natürlich ist dies auch der beste Anlaufpunkt um die aktuelle Entwicklung zu verfolgen!

Bis nächste Woche probiere ich mir das Kirby CMS anzusehen, dieses basiert auf dem Kirby Toolkit und nutzt zur Datenspeicherung Dateien im Dateisystem (anstatt Datenbanken). Ich bin gespannt!

Bis dahin wünsche ich euch allen eine angenehme Woche und natürlich Happy Coding!

4 comments on “Vorstellung des Kirby Toolkit

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.