Heim > Backend-Entwicklung > PHP-Tutorial > Verwenden Sie das PHP -Build -Tool mit Phing

Verwenden Sie das PHP -Build -Tool mit Phing

William Shakespeare
Freigeben: 2025-03-01 10:06:13
Original
320 Leute haben es durchsucht

Verwenden Sie das PHP -Build -Tool mit Phing

Key Takeaways

  • Phing ist ein PHP -Projekt Build -Tool, das auf Apache -Ant basiert, mit dem Aufgaben automatisiert werden können, z. B. das Ausführen von Unit -Tests, die Anwendung von Datenbankänderungen und die Bereitstellung von Anwendungscode. Dies hilft bei der Verhinderung von Fehlern, die in manuellen Prozessen auftreten können, insbesondere in kontinuierlichen Integrations -Workflows.
  • Phing verwendet XML -Dateien, um Aufgaben zu definieren. Diese Aufgaben können in Ziele zusammengefasst werden, die einzeln aufgerufen werden oder von anderen Zielen abhängen. Aufgaben können von einfachen Aktionen wie dem Echo einer Nachricht bis hin zu komplexeren Aktionen wie der FTP -Bereitstellung reichen. Phing ermöglicht auch die Erstellung von benutzerdefinierten Aufgaben.
  • PHING ist nicht auf PHP-spezifische Vorgänge beschränkt, kann jedoch auch rahmenspezifische Vorgänge verarbeiten. Dies macht es zu einem vielseitigen Werkzeug für jedes PHP -Projekt. Es hilft auch bei der Automatisierung des Bereitstellungsprozesses, des Handhabungsfehlers und der Generierung von Dokumentationen.
PHING ist ein PHP -Projektbuild -Tool, das auf Apache -Ant basiert. Mit einem Build -System können Sie eine Gruppe von Aktionen mit einem einzigen Befehl ausführen. Wenn Sie sich fragen, warum PHP ein Build -Tool benötigt, sollten Sie einen Arbeitsfluss in Betracht ziehen, bei dem Sie Code- und Unit -Tests auf Ihrem lokalen Computer schreiben. Wenn die Tests Sie überladen, laden Sie den Code auf den Staging/Produktionsserver hoch und ändern Sie Änderungen an der Produktionsdatenbank. Ohne eine Build -Datei müssen Sie jeden Schritt manuell durchlaufen. Wenn Sie eine kontinuierliche Integration durchführen, werden Sie immer wieder dieselben Schritte ausführen. Es ist zu einfach, in diesem Prozess versehentlich etwas wegzulassen und ein ernstes Problem in der Produktion zu haben. Phing hilft bei der Überwindung solcher Probleme, indem Aufgaben automatisiert werden, wie das Ausführen von Unit -Tests, die Anwendung von Datenbankwechsel, die Bereitstellung von Anwendungscode usw. In diesem Artikel zeige ich Ihnen einige der Grundlagen der Arbeit mit Phing. Wenn Sie es noch nicht haben, können Sie PHING mit Birne installieren:
shameer@yukon:~$ sudo pear channel-discover pear.phing.info
shameer@yukon:~$ sudo pear install phing/phing
Nach dem Login kopieren
Nach dem Login kopieren
Wenn Sie Aufgaben wie Phpunit oder PHPDocumentor verwenden möchten, müssen Sie auch die abhängigen Pakete installieren.

Phing Hello World

Um Ihnen zu zeigen, wie einfach es ist, Build -Dateien für PHING zu erstellen, beginnen wir mit einer "Hello World" -Einbaudatei. Erstellen Sie zunächst Ihr Projektverzeichnis und erstellen Sie dann eine Datei namens Build.xml mit folgenden Inhalten:
<span><?xml version="1.0" encoding="UTF-8"?>
</span><span><span><span><project</span> name<span>="HelloWorld"</span> default<span>="welcome"</span> basedir<span>="."</span> description<span>="a demo project"</span>></span>
</span> <span><span><span><property</span> name<span>="message"</span> value<span>="Hello World!"</span>/></span>
</span> <span><span><span><target</span> name<span>="welcome"</span>></span>
</span>  <span><span><span><echo</span> msg<span>="${message}"</span>/></span>
</span> <span><span><span></target</span>></span>
</span><span><span><span></project</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren
Navigieren Sie aus der Befehlszeile in das Verzeichnis und führen Sie Phing aus.
shameer@yukon:~/HelloWorld$ phing
Buildfile: /home/shameer/HelloWorld/build.xml

HelloWorld > welcome:

     [echo] Hello World!

BUILD FINISHED

Total time: 0.2275 seconds
Nach dem Login kopieren
Nach dem Login kopieren
Das Element ist das Stammelement der Build -Datei. Der Attribut -Standard ist erforderlich und gibt das Standardziel an, das aufgerufen werden soll, wenn man nicht in der Befehlszeile geliefert wird. Abgesehen davon können Sie auch den Projektnamen, das Projektbasisverzeichnis und eine Beschreibung angeben, um die Dinge organisiert zu halten. Das Element repräsentiert eine benannte Gruppe von Aufgaben, die ausgeführt werden können. Beispielsweise können verschiedene Ziele definiert werden, um eine Sicherung durchzuführen oder die Datenbank zu aktualisieren. Ein Ziel kann auch von anderen Zielen abhängig sein, die vor der Ausführung durchgeführt werden müssen. Das Element ist eine Aufgabe, eine einzige Aktion, die ausgeführt werden kann. Es gibt eine Reihe von Kernaufgaben im Phing, die von einfachen Aufgaben wie Erstellen eines Verzeichnisses bis hin zu komplexeren Aufgaben wie der Durchführung von XSLT -Transformationen reichen. Sie sind jedoch nicht auf die Aufgaben beschränkt, die Phing liefert. Sie können auch benutzerdefinierte Aufgaben erstellen. Das Element definiert benannte Werte, die später in der gesamten Build -Datei verwendet werden können. Um auf den Wert einer Eigenschaft zu verweisen, geben Sie den Namen zwischen „$ {“ und „} an“. Denken Sie daran, dass Eigenschaftsnamen bei Phing fallsempfindlich sind. Es ist nicht obligatorisch, dass Sie Ihre Build -Datei Build.xml benennen, aber Phing wird standardmäßig nach diesem Namen suchen. Wenn Sie einen anderen Namen verwenden, müssen Sie die Build -Datei als Argument für den Befehl pHing angeben, z. B.:
shameer@yukon:~$ sudo pear channel-discover pear.phing.info
shameer@yukon:~$ sudo pear install phing/phing
Nach dem Login kopieren
Nach dem Login kopieren
Sie können auch andere Ziele als nur den Standard aufrufen, indem Sie in der Befehlszeile ein oder mehrere Zielnamen angeben:
<span><?xml version="1.0" encoding="UTF-8"?>
</span><span><span><span><project</span> name<span>="HelloWorld"</span> default<span>="welcome"</span> basedir<span>="."</span> description<span>="a demo project"</span>></span>
</span> <span><span><span><property</span> name<span>="message"</span> value<span>="Hello World!"</span>/></span>
</span> <span><span><span><target</span> name<span>="welcome"</span>></span>
</span>  <span><span><span><echo</span> msg<span>="${message}"</span>/></span>
</span> <span><span><span></target</span>></span>
</span><span><span><span></project</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren

Mehrere Ziele

Ändern wir das Build -Skript und fügen Sie zusätzliche Ziele hinzu. Aus diesem Grund nehme ich an, dass die folgende Verzeichnisstruktur für das Projekt vorhanden ist:

Verwenden Sie das PHP -Build -Tool mit Phing

Update Build.xml Also sieht es jetzt so aus:
shameer@yukon:~/HelloWorld$ phing
Buildfile: /home/shameer/HelloWorld/build.xml

HelloWorld > welcome:

     [echo] Hello World!

BUILD FINISHED

Total time: 0.2275 seconds
Nach dem Login kopieren
Nach dem Login kopieren
Es wurden zwei Ziele hinzugefügt, testen und erstellen, und das Standardziel wurde zum Erstellen geändert. Wenn Sie nun Phing aus dem Projektverzeichnis ausführen, wird das Build -Ziel aufgerufen. Da dieses Ziel vom Testziel abhängt, wird das PHING das Testziel zuerst ausführen. Die Aufgabe ruft Phpunit auf. Da sich der Build -Prozess nicht fortsetzen sollte, wenn einer der Unit -Tests fehlschlägt, wurde sein HaltonFailure -Attribut wahr gesetzt. erhält die Dateien, die aus einer beliebigen Anzahl von verschachtelten -Elementen enthalten sind. Nachdem die Unit -Tests erfolgreich ausgeführt wurden, kopiert das Build -Ziel, die in seiner in das Zielverzeichnis angegeben sind, mit . Beachten Sie, dass anstatt den Dateinamen hier ein Refid zu geben. Dies verweist auf die früher mit der ID SRCFiles deklarierte . Es ist hilfreich, einen Dateisatz zu definieren und sie so zu verweisen, wenn Sie komplexe reguläre Ausdrücke haben oder sich an mehreren Stellen auf dieselben Dateien beziehen müssen. Die -Abgleiserie stellt eine Verbindung zu einem Remote -Server mit der Verwendung von FTP mit den angegebenen Anmeldeinformationen her und überträgt die vom Dateisatz angegebenen Dateien.

Zusammenfassung

In diesem Artikel habe ich Sie mit dem PHP Build -Tool Phing vorgestellt. Das PHING hat viel mehr als das, was ich hier besprochen habe. Zum Beispiel können Sie es verwenden, um bei Datenbankmigrationen zu helfen. Ich empfehle, Phings hervorragende Dokumentation zu lesen, um all das zu sehen, was dieses leistungsstarke Tool tun kann. Bild über Dino O / Shutterstock

häufig gestellte Fragen (FAQs) zur Verwendung von Phing

Was ist die Grundstruktur einer Phing -Build -Datei? Es beginnt mit einem

-Tag, das Attribute wie Name, Standard und basiert enthält. Das

Tag definiert eine Reihe von Aufgaben, die zusammen ausgeführt werden können. Jede Aufgabe wird durch ein bestimmtes XML -Tag wie , usw. dargestellt. Die Aufgaben werden in der Reihenfolge ausgeführt, in der sie im Ziel angezeigt werden.

Wie kann ich PHING für die kontinuierliche Integration verwenden? Sie können Aufgaben für das Code -Lining, das Testen von Einheiten, die Generierung von Dokumentationen, das Verpacken des Codes und die Bereitstellung des Servers definieren. Diese Aufgaben können automatisch ausgelöst werden, wenn sich das Code -Repository ändert.

Wie kann ich das Phing mit benutzerdefinierten Aufgaben erweitern? Sie müssen die Main () -Methode implementieren, bei der Sie das Verhalten der Aufgabe definieren. Sobald die benutzerdefinierte Aufgabenklasse erstellt wurde, können Sie das

-Tag in der Build -Datei verwenden, um die Aufgabe zu registrieren. PHING verwendet XML für seine Build-Dateien wie ANT, verfügt jedoch über integrierte Aufgaben für PHP-spezifische Operationen wie PHPUnit-Tests oder die Generierung von PHPDocumentor-Dokumentation. Maven hingegen verwendet einen Konvention-Über-Konfigurationsansatz und hat einen komplexeren Lebenszyklus. Sie können die Aufgabe

verwenden, um den Erstellungsprozess zu stoppen, wenn eine bestimmte Bedingung erfüllt ist. Sie können die Aufgabe auch verwenden, um Ausnahmen zu fangen und angemessen umzugehen. Zusätzlich können Sie die Protokollierungsstufe konfigurieren, um die Anzahl der Informationen zu steuern, die angezeigt werden, wenn ein Fehler auftritt. Sie können Aufgaben definieren, um Framework-spezifische Vorgänge wie das Ausführen von Migrationen oder das Aussaat der Datenbank zu verarbeiten. Sie können dies jedoch erreichen, indem Sie die Aufgabe

zum Ausführen separater Phing -Prozesse im Hintergrund verwenden. Sie können Aufgaben definieren, um die Anwendung zu verpacken, auf den Server hochzuladen und die erforderlichen Setup -Aufgaben auszuführen.

Wie kann ich Variablen in Phing verwenden? Variablen können aus einer Eigenschaftendatei, aus der Befehlszeile oder aus der Umgebung eingestellt werden. Sie können den Prozess der Dokumentationsgenerierung konfigurieren, indem Sie die Quell- und Zielverzeichnisse, das Ausgabeformat und andere Optionen angeben.

Das obige ist der detaillierte Inhalt vonVerwenden Sie das PHP -Build -Tool mit Phing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage