Heim >Backend-Entwicklung >PHP-Tutorial >Boxen Sie Ihre Apps schnell und einfach mit Box
Dieses Tutorial zeigt die Verpackung einer PHP -Anwendung in einem PHAR mit Box, Vereinfachung der Verteilung und der globalen Installation über den Komponisten. Wir werden Webiny's OrdnerBuilder (ein Tool zum interaktiven Entwerfen von Projektordnerstrukturen) als unser Beispiel verwenden.
Schlüsselkonzepte:
box.json
Datei definiert PHAR -Inhalte (Dateien, Einstiegspunkt, Ausgabe von Dateinamen usw.). Der Befehl box
erstellt den Phar. Durch das Hinzufügen von chmod
zu box.json
wird die PHAR ausführbar. bin
Feld in composer.json
Ermöglicht die PHAR-Verteilung als globales Befehlszeilen-Tool (erfordert Packagisten-Upload). Projekt -Setup:
Wir werden das PHP -Skript von OrdnerBuilder verwenden, das JSON -Darstellungen von Projektstrukturen generiert. Während sie leicht direkt ausführen können, verbessert die Verpackung als PHAR die Benutzerfreundlichkeit:
<code class="language-bash">composer global require webiny/folderbuilder folderbuilder . > structure.json</code>
Box -Projekterstellung:
Installieren Sie zuerst das Box:
<code class="language-bash">composer global require kherge/box</code>
Als nächstes klonen und checkout orderBuilder:
<code class="language-bash">cd ~ git clone https://github.com/webiny/folderbuilder cd folderbuilder git checkout 74b234fa33bd69690a2c26df38ef7d188c4e69eb</code>
erstellen box.json
:
<code class="language-json">{ "files": ["structure.php", "bin/stub.php"], "output": "bin/wfb.phar", "stub": true, "main": "bin/stub.php", "chmod": "0755", "compactors": ["Herrera\Box\Compactor\Json", "Herrera\Box\Compactor\Php"] }</code>
Dieses box.json
Gibt enthalten enthaltene Dateien, Ausgabedwegen, Stub, Einstiegspunkt, ausführbare Berechtigungen und Kompaktoren für kleinere pHar -Größe an. Lauf:
<code class="language-bash">box build -v</code>
dann umbenennen und testen:
<code class="language-bash">mv bin/wfb.phar bin/wfb bin/wfb</code>
Verteilung mit Komponist:
einen bin
Eintrag zu composer.json
:
<code class="language-json">"bin": ["bin/wfb"]</code>
Laden Sie das Projekt auf Packagist hoch.
Testen der globalen Installation:
Erstellen Sie eine neue Umgebung (z. B. ein frisches Gehöft verbesserte Instanz) und rennen Sie:
<code class="language-bash">composer global require webiny/folderbuilder wfb ~/Code > out.json</code>
Dies bestätigt die weltweit installierte PHAR -Funktionalität.
Schlussfolgerung:
Dieses Tutorial detailliertes Erstellen und Verteilen eines PHP -PHAR mithilfe von Box, Verbesserung der Anwendungsbereitstellung und -Benutzerfreundlichkeit. Weitere Verbesserungen könnten die PHAR-Signier- und Auto-Updat-Mechanismen beinhalten. OrdnerBuilder begrüßt Beiträge, um seine Funktionen zu erweitern.
häufig gestellte Fragen (FAQs) zu Box -Apps und Phars: (Dieser Abschnitt bleibt dem Eingang weitgehend unverändert, da es sich um einen hilfreichen und relevanten FAQ -Abschnitt handelt.)
PHAR- oder PHP -Archive packen alle PHP -Anwendungen in eine einzelne Datei für eine einfache Verteilung und Installation ein. Sie sind analog zu den JAR -Dateien von Java und vereinfachen die Bereitstellung, indem Sie alle erforderlichen Komponenten konsolidieren.
Die Phar
-Klasse in PHP ermöglicht die Erstellung von Pharen. Sie instanziieren die Klasse, fügen Dateien mit addFile
hinzu und speichern mit stopBuffering
. Ein Stub (ein kleines Skript, das in der PHAR -Ausführung ausgeführt wird) kann ebenfalls festgelegt werden.
Box -Apps Automatisieren Sie die PHAR -Erstellung und strömen Sie den Verteilungsprozess. Funktionen wie Git und Composer -Integration verbessern die Arbeitsablaufeffizienz weiter.
Boxprojekt installieren, erstellen Sie eine box.json
-Datei-Definieren von Verpackungsanweisungen und verwenden Sie den Befehl box
, um das Phar zu generieren. Optionen zur Komprimierung und Stubkonfiguration sind verfügbar.
Ja, Phars fungieren als reguläre PHP -Anwendungen, wenn Sie über einen Webserver zugegriffen werden. Stellen Sie jedoch sicher, dass Ihr Webserver für die Ausführung von PHAR -Dateien konfiguriert ist.
Verwenden Sie Phars aus vertrauenswürdigen Quellen und halten Sie sie auf dem neuesten Stand. PHPs phar.readonly
und phar.require_hash
Einstellungen verbessern die Sicherheit.
Erstellen Sie einen neuen Phar mit Updates und ersetzen Sie die alte. Dies kann automatisiert oder manuell durchgeführt werden.
Ja, viele Frameworks unterstützen Phars und ermöglichen es Ihnen, Ihre Anwendung, einschließlich des Frameworks, in eine einzelne Datei zu verpacken.
Box-Project 2 bietet Verbesserungen gegenüber dem Original, einschließlich Komponistenunterstützung, besserer Fehlerbehebung und Leistungsverbesserungen.
Überprüfen Sie das PHP -Fehlerprotokoll, testen Sie auf verschiedenen Systemen und überprüfen Sie die korrekte PHP -Konfiguration. Fragen zur Dateiberechtigungen sind ebenfalls häufig.
Das obige ist der detaillierte Inhalt vonBoxen Sie Ihre Apps schnell und einfach mit Box. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!