PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Abhängigkeiten automatisiert verwalten mit Pundle

with one comment

Ein Gastbeitrag von Timo Puschkasch
Student aus Stuttgart, seit längerem als Webentwickler mit PHP und Ruby sowie gelegentlich als Blogger tätig. Seit kurzem auch in der UG Stuttgart anzutreffen. Lead Developer des vorgestellten Projekts.

Es gibt heutzutage zwei Arten von PHP-Anwendungen: die Einen bringen ihre Abhängigkeiten in einem riesigen zip-Archiv mit und arbeiten entweder mit veralteten Versionen mancher Bibliotheken oder liefern alle 20 Tage ein neues Archiv aus. Zum einen ist dies sehr nervig und zum anderen entstehen so auch oftmals Sicherheitslücken. Daher liefern immer mehr Anwendungen ihre Abhängigkeiten nicht direkt mit sondern erwarten, dass der Entwickler diese selbst installiert. Obwohl dieses Vorgehen die Sicherheit erheblich verbessert belastet es doch die Zeit des Entwicklers enorm.

Aus genau dieser Problematik ist Pundle entstanden. Als schlankes, PHP-basiertes Tool ermöglicht es, die Installation und Aktualisierung von Abhängigkeiten wie anderen Tools, Bibliotheken oder auch bestimmten PHP-Versionen zu automatisieren und nimmt damit dem Entwickler viel Arbeit ab. Definiert werden die Abhängigkeiten dabei ganz einfach in einer Yaml-Datei. Beispielhaft sieht das so aus:

Pundle kann dabei mit einer Vielzahl von Abhängigkeiten umgehen: Pear-Packages werden genauso unterstützt wie git- und svn-Repositories oder das Prüfen auf ein bestimmtes Betriebssystem, eine PHP-Version oder die Existenz bestimmter Klassen und Methoden. Eine Vielzahl dieser Abhängigkeiten kann auch auf Wunsch des Anwenders aufgelöst werden.

Das Tool läuft sowohl über eine integrierte API, mit der z.B. beim Start eines Tools überprüft werden kann, ob alle Bedingungen erfüllt sind, als auch plattformunabhängig auf der Command Line, was eine schnelle Installation oder Aktualisierung aller nötigen Abhängigkeiten erlaubt:

Da die nötige Yaml-Datei schnell angelegt werden kann und auch die Installation von Pundle schnell über die Bühne geht ist der Umstieg – auch bei laufenden Projekten – schnell erledigt und spart viel Zeit ein. Auch eine teilweise Migration oder eine Migration über einen längeren Zeitraum ist denkbar. Eine Erklärung der Vorteile sowie eine Einführung in die Arbeit mit Pundle können im Pundle GitHub Wiki gefunden werden. Das GitHub-Repository und das dazugehörige Wiki sind auch die richtige Anlaufstelle, wenn ihr selbst an Pundle arbeiten oder es erweitern wollt. Eure Hilfe und euer Feedback sind immer gerne gesehen.

Written by Timo Puschkasch

März 23rd, 2011 at 9:52 am

Posted in PHP

Tagged with , , ,

One Response to 'Abhängigkeiten automatisiert verwalten mit Pundle'

Subscribe to comments with RSS or TrackBack to 'Abhängigkeiten automatisiert verwalten mit Pundle'.

  1. was fürn Zufall, vor nicht all zu langer Zeit hab ich etwas vergleichbares geschrieben mit https://github.com/Flyingmana/pere

    Flyingmana

    23 Mrz 11 at 15:27

Leave a Reply

You can add images to your comment by clicking here.