Heim >Backend-Entwicklung >PHP-Tutorial >Boxen Sie Ihre Apps schnell und einfach mit Box

Boxen Sie Ihre Apps schnell und einfach mit Box

Jennifer Aniston
Jennifer AnistonOriginal
2025-02-17 11:22:09180Durchsuche

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.

Boxing up your Apps as Phars Quickly and Easily with Box

Schlüsselkonzepte:

  • Box optimiert die PHAR -Erstellung für einfache PHP -Anwendungsbereitstellung und Komponistintegration.
  • a 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.
  • Komponist 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:

hinzufügen
<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.

Boxing up your Apps as Phars Quickly and Easily with Box

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.)

Was ist der Hauptzweck für die Verwendung von PHAR in PHP?

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.

Wie erstelle ich eine Phar -Datei?

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.

Was sind die Vorteile der Verwendung von Box-Apps wie Boxproject?

Box -Apps Automatisieren Sie die PHAR -Erstellung und strömen Sie den Verteilungsprozess. Funktionen wie Git und Composer -Integration verbessern die Arbeitsablaufeffizienz weiter.

Wie verwende ich Boxprojekt, um eine Phar-Datei zu erstellen?

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.

Kann ich Phars mit Webanwendungen verwenden?

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.

Gibt es Sicherheitsbedenken bei der Verwendung von Phars?

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.

Wie aktualisiere ich eine Phar -Datei?

Erstellen Sie einen neuen Phar mit Updates und ersetzen Sie die alte. Dies kann automatisiert oder manuell durchgeführt werden.

Kann ich Phars mit PHP -Frameworks verwenden?

Ja, viele Frameworks unterstützen Phars und ermöglichen es Ihnen, Ihre Anwendung, einschließlich des Frameworks, in eine einzelne Datei zu verpacken.

Was ist der Unterschied zwischen Boxprojekt und Boxprojekt 2?

Box-Project 2 bietet Verbesserungen gegenüber dem Original, einschließlich Komponistenunterstützung, besserer Fehlerbehebung und Leistungsverbesserungen.

Wie kann ich Probleme mit PHARS beheben?

Ü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!

Stellungnahme:
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