© saicle/Shutterstock.com
PHP Magazin
PHIVE: PHAR-Installation and Verification Environment

Entwicklungstools elegant verwalten

Viele Entwickler speichern die .phar-Dateien der jeweiligen Tools direkt im Document Root des Repositories, um der Dependency Hell [1] zu entkommen. In die gelangt man, wenn man die Tools stattdessen in den require-dev-Bereich der composer.json packt. Wie man das eleganter lösen kann, zeigt dieser Artikel.

Thomas Eiling


Früher war das initiale Aufsetzen aller benötigten Entwicklungswerkzeuge eine mühselige Arbeit. Zuerst musste man den passenden Downloadlink für die .phar und die zugehörige Signatur in der korrekten Version finden. Danach lud man die Daten herunter. Nach erfolgreicher Prüfung der .phar-Datei wurde diese noch als ausführbar gekennzeichnet. Dieser Prozess wiederholte sich für jedes benötigte Tool – das ist eine Menge Arbeit. Zum Glück gibt es dafür mittlerweile eine Alternative, die sich PHIVE (PHAR Installation and Verification Environment) nennt. Das von Arne Blankerts und Sebastian Heuer entwickelte Tool nimmt dem Entwickler viel Arbeit ab. Mit PHIVE können, ähnlich wie bei Composer, verschiedene PHAR-Archive als Abhängigkeit definiert werden. Diese Informationen finden sich in der phive.xml.

Anwendung und Installation

phive install startet den Downloadprozess derin phive.xml festgelegten Werkzeuge. Danach werden die Hashes (SHA1, SHA256 oder SHA512) der jeweiligen Archive genauso verifiziert wie deren OpenPGP/GnuPG-Signatur. Um einen erneuten Download der jeweiligen Archive zu verhindern, sind die Archive im Standard im Home-Verzeichnis des Benutzers unter ~/.phive abgelegt.

Um PHIVE in ein bestehendes Projekt zu integrieren, sollte PHIVE zuerst auf den jeweils verwendeten Systemen installiert werden. Wie das genau geht, ist in Listing 1 beschrieben. Die anschließende Installation von z. B. php-cs-fixer ist mit phive install php-cs-fixer denkbar einfach. In diesem Beispiel ist php-cs-fixer als Alias hinterlegt und verweist auf das GitHub-Repository FriendsOfPHP/PHP-CS-Fixer. Alternative Installationsmöglichkeiten sind in Listing 2 aufgeführt. PHIVE erstellt eine phive.xml-Datei (Listing 3), wenn diese noch nicht vorhanden ist. In dieser Datei sind, ähnlich wie in der composer.json, die definierten Abhängigkeiten hinterlegt.

Listing 1wget -O phive.phar https://phar.io/releases/phive.pharwget -O phive.phar.asc https://phar.io/releases/phive.phar.ascgpg --keyserver pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79gpg --verify phive.phar.asc phive.pharchmod +x phive.pharsudo mv phive.phar /usr/local/bin/phive

Listing 2phive install pshphive install shopwareLabs/sw-cli-toolsphive install https://phar.phpunit.de/phpunit-4.8.6.phar

Listing 3

PHP Magazin
PHIVE: PHAR-Installation and Verification Environment

Entwicklungstools elegant verwalten

Viele Entwickler speichern die .phar-Dateien der jeweiligen Tools direkt im Document Root des Repositories, um der Dependency Hell [1] zu entkommen. In die gelangt man, wenn man die Tools stattdessen in den require-dev-Bereich der composer.json packt. Wie man das eleganter lösen kann, zeigt dieser Artikel.

Thomas Eiling


Früher war das initiale Aufsetzen aller benötigten Entwicklungswerkzeuge eine mühselige Arbeit. Zuerst musste man den passenden Downloadlink für die .phar und die zugehörige Signatur in der korrekten Version finden. Danach lud man die Daten herunter. Nach erfolgreicher Prüfung der .phar-Datei wurde diese noch als ausführbar gekennzeichnet. Dieser Prozess wiederholte sich für jedes benötigte Tool – das ist eine Menge Arbeit. Zum Glück gibt es dafür mittlerweile eine Alternative, die sich PHIVE (PHAR Installation and Verification Environment) nennt. Das von Arne Blankerts und Sebastian Heuer entwickelte Tool nimmt dem Entwickler viel Arbeit ab. Mit PHIVE können, ähnlich wie bei Composer, verschiedene PHAR-Archive als Abhängigkeit definiert werden. Diese Informationen finden sich in der phive.xml.

Anwendung und Installation

phive install startet den Downloadprozess derin phive.xml festgelegten Werkzeuge. Danach werden die Hashes (SHA1, SHA256 oder SHA512) der jeweiligen Archive genauso verifiziert wie deren OpenPGP/GnuPG-Signatur. Um einen erneuten Download der jeweiligen Archive zu verhindern, sind die Archive im Standard im Home-Verzeichnis des Benutzers unter ~/.phive abgelegt.

Um PHIVE in ein bestehendes Projekt zu integrieren, sollte PHIVE zuerst auf den jeweils verwendeten Systemen installiert werden. Wie das genau geht, ist in Listing 1 beschrieben. Die anschließende Installation von z. B. php-cs-fixer ist mit phive install php-cs-fixer denkbar einfach. In diesem Beispiel ist php-cs-fixer als Alias hinterlegt und verweist auf das GitHub-Repository FriendsOfPHP/PHP-CS-Fixer. Alternative Installationsmöglichkeiten sind in Listing 2 aufgeführt. PHIVE erstellt eine phive.xml-Datei (Listing 3), wenn diese noch nicht vorhanden ist. In dieser Datei sind, ähnlich wie in der composer.json, die definierten Abhängigkeiten hinterlegt.

Listing 1wget -O phive.phar https://phar.io/releases/phive.pharwget -O phive.phar.asc https://phar.io/releases/phive.phar.ascgpg --keyserver pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79gpg --verify phive.phar.asc phive.pharchmod +x phive.pharsudo mv phive.phar /usr/local/bin/phive

Listing 2phive install pshphive install shopwareLabs/sw-cli-toolsphive install https://phar.phpunit.de/phpunit-4.8.6.phar

Listing 3

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang