Composer mit WordPress verwenden
Veröffentlicht: 2022-06-30WordPress gibt es seit 2003 und ist zum Standardtool für die meisten Leute geworden, die eine Website starten möchten. Obwohl es einen langen Weg von seinen Wurzeln als Blog-Engine zurückgelegt hat, hat die zugrunde liegende Technologie nicht die gleichen Sprünge gemacht wie die Benutzererfahrung.
Die WordPress-Entwicklung dreht sich immer noch um viele der Standards, die 2003 vorhanden waren. Dies kann es zwar aufgrund des geringeren technischen Verständnisses für Menschen zugänglicher machen, bedeutet aber auch, dass viele neue Entwicklungsressourcen nicht standardmäßig mit WordPress kompatibel sind.
Heute werfen wir einen Blick auf eines dieser neueren Tools namens Composer. Lassen Sie uns sehen, wie es in Ihren WordPress-Workflow passt, und besprechen Sie, warum Sie es vielleicht ausprobieren möchten.
Was ist Komponist?
Jedes Stück Code, das Sie schreiben, hat Abhängigkeiten. Wenn Sie ein WordPress-Plugin schreiben, ist Ihre größte Abhängigkeit WordPress selbst. Ohne die Kernfunktionen, die WordPress bietet, ist Ihr Plugin wahrscheinlich überhaupt nicht nützlich. Außerhalb von WordPress selbst benötigen Sie möglicherweise einen modernen SOAP-Client wie nusoap, um eine Schnittstelle zu SOAP-basierten APIs herzustellen.
In der Vergangenheit haben die meisten Leute einfach das Repository für nusoap in ein Verzeichnis in ihrem Plugin kopiert und dann die Dateien eingefügt, die zur Verwendung der Bibliothek benötigt werden. Hier kann Composer eingreifen und einen Teil der Verwaltung Ihrer Abhängigkeiten vereinfachen.
Composer ist ein Abhängigkeitsmanager. Es wurde speziell entwickelt, um die Installation und Verwaltung von Abhängigkeiten zu vereinfachen. Dies kann besonders wichtig werden, wenn Sie in einem Team arbeiten und sicherstellen möchten, dass jedes Mitglied des Teams dieselben Bibliotheken verwendet, während es seine Entwicklungsarbeit durchführt.
An seiner Basis ist Composer eine JSON-Datei, die die von Ihnen installierten Abhängigkeiten und die Versionen der Abhängigkeiten, die Sie verwenden möchten, detailliert beschreibt. Unten sehen Sie ein einfaches Beispiel, das die Nusoap-Abhängigkeit enthält.
{
"benötigen": {
„econea/nusoap“: „^0.9.10“
}
}
Wenn ich den Composer require econea/nusoap in meinem Plugin ausführe, installiert es nusoap für mich und sperrt es auf die angegebene Version. In diesem Fall verwende ich 0.9.10 und werde es weiterhin verwenden, es sei denn, ich sage Composer, dass es die Abhängigkeit aktualisieren soll.
Dies hat den Vorteil gegenüber dem einfachen Herunterladen und Einbinden von nusoap, da ich mit composer update alle meine Abhängigkeiten aktualisieren kann, ohne nach Updates suchen und sie manuell in mein Projekt herunterladen zu müssen. Composer übernimmt auf dieser Ebene die Ressourcenverwaltung.
Erste Schritte mit Composer
Die Installation von Composer ist ziemlich einfach.
Unter Windows
Wenn Sie Windows verwenden, wird ein Installationsprogramm bereitgestellt, um den Vorgang zu vereinfachen. Es installiert die neueste Version von Composer und macht sie global für Ihre Projekte zugänglich.
Linux/Unix/macOS
Auf jeder dieser Plattformen müssen Sie einige weitere Schritte ausführen, um Composer einzurichten. Führen Sie zunächst die Befehle aus, die zum Herunterladen von Composer und zum Einrichten erforderlich sind.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r „if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07e0f1d4d07e036d37e9a59d27d63f46af1d4d07e7d) {Installer verifiziert 'stale0f76181c' } else { echo 'Installer beschädigt'; unlink('composer-setup.php'); } echo PHP_EOL;”
php komponist-setup.php
php -r „unlink('composer-setup.php');“
Als Nächstes möchten Sie Composer global für die lokale Entwicklung ausführen, sodass wir die Standardinstallation anpassen müssen, um sicherzustellen, dass sie jederzeit verfügbar ist, wenn wir Composer verwenden möchten. Sie können Composer so verschieben, dass er global verfügbar ist, indem Sie den folgenden Befehl aus demselben Verzeichnis ausführen, aus dem Sie Composer gerade heruntergeladen haben.
mv composer.phar /usr/local/bin/composer
Composer aktualisieren
Unter Windows und macOS müssen Sie zum Upgrade auf die neueste Version von Composer lediglich das Composer Self-Update ausführen. Wenn Sie Linux/Unix verwenden, müssen Sie sudo apt update && upgrade ausführen, damit Ihr System nach den neuesten Versionen sucht. Anschließend können Sie Composer Self-Update ausführen, um die neueste Version zu erhalten.
Nachdem Sie nun eingerichtet sind, werfen wir einen Blick auf die Verwendung von Composer zur Installation von WordPress.
Installieren Sie WordPress mit Composer
Was ist, wenn Sie eine ganze Website mit Composer verwalten möchten? Zuerst müssen Sie entscheiden, ob WordPress die Abhängigkeit des Projekts oder der Kern des Projekts ist? Ja, ein bisschen Hirnschmalz.
WordPress kann als Abhängigkeit des Projekts angesehen werden, da das Endziel für Ihre Kunden nicht darin besteht, WordPress installiert zu haben. Sie wollen einen Shop oder einen Blog und das hängt davon ab, ob Sie WordPress installieren. Dies ist die Haltung, die ein Projekt wie Roots mit seinem Composer-basierten Bedrock-WordPress-Setup namens Bedrock einnimmt.
Die Verwendung von Bedrock bedeutet, dass Sie Composer nicht über WPackagist informieren müssen, da es bereits eingerichtet ist. Hier empfehle ich Ihnen, anzufangen, wenn Sie eine ganze Website mit Composer verwalten möchten.
Um Bedrock zu installieren, führen Sie den folgenden Befehl aus.
Composer Create-Project-Wurzeln/Grundgestein
Dadurch erhalten Sie die folgende Dateistruktur.
├── komponist.json
├── .env
├── Konfig
│ ├── Anwendung.php
│ └── Umgebungen
│ ├── Entwicklung.php
│ ├── staging.php
│ └── Produktion.php
├── Anbieter
└── Netz
├── App
│ ├── Mu-Plugins
│ ├── Plugins
│ ├── Themen
│ └── hochladen
├── wp-config.php
├── index.php
└── wp
Dies unterscheidet sich stark vom Standard-WordPress-Setup. Zu Beginn haben Sie Ihre composer.json-Datei im Stammverzeichnis der Installation. Hier sehen Sie Ihre Composer-Konfiguration.
In Ihrer .env-Datei können Sie die verschiedenen Datenbankkonfigurationen speichern. Dies ist erforderlich, da Ihre lokale Site und Ihre Live-Site unterschiedliche Datenbankkennwörter und Benutzernamen haben. Die Standarddatei wp-config.php versteht die Variablen, die Sie in Ihre .env-Datei einfügen, da Bedrock diese Variablen verwendet, anstatt sie in den Datenbankverbindungsinformationen fest zu codieren.
Ihre .env-Datei sollte in Ihrem Git-Repository ignoriert werden. Wenn Sie eine neue Site konfigurieren, fügen Sie ihr eine neue .env-Datei mit den erforderlichen Datenbankkonfigurationsinformationen hinzu.
Es gibt ein paar andere Variablen, die Sie hier einrichten müssen, um Bedrock zum Laufen zu bringen, die alle in ihrer Dokumentation detailliert beschrieben sind.
Unter dem Ordner config befinden sich verschiedene Standardkonfigurationen für die Umgebungen, die Sie verwenden werden. In der Entwicklung wird dadurch die Fehlerberichterstattung aktiviert und in Ihren Produktionsumgebungen wird sichergestellt, dass die Fehlerprotokollierung den reibungslosen Betrieb Ihrer Website nicht beeinträchtigt.
Mit Bedrock als Basis können Sie jetzt Composer verwenden, um Ihre WordPress-Plugins über WPackagist zu installieren.
WPackagist ist ein Spiegel des WordPress-Themes und des Plugin-Repositorys. Dies ist erforderlich, da Composer standardmäßig die meisten Plugins und Designs nicht zur Installation zur Verfügung stellt. Der Spiegel fügt die erforderlichen Dateien für jedes Plugin hinzu, sodass Composer zum Verwalten der Plugins verwendet werden kann.
Wenn Sie WooCommerce in Ihrer Bedrock-basierten WordPress-Installation installieren möchten, müssen Sie zuerst WooCommerce anfordern, Composer erfordern wpackagist-plugin/woocommerce, dann müssen Sie Composer anweisen, die Abhängigkeiten zu installieren, Composer installieren.
Jetzt können Sie zum Admin-Bereich Ihrer WordPress-Installation gehen und WooCommerce aktivieren und mit dem Aufbau Ihrer Website beginnen. Um WooCommerce zu aktualisieren, wenn eine neue Version herauskommt, oder um WordPress zu aktualisieren, müssen Sie das Composer-Update ausführen.
Hier kann ein Composer-basiertes Projekt in Schwierigkeiten geraten. Wenn Sie Ihre Updates über den WordPress-Administrator ausführen, besteht eine Diskrepanz zwischen dem, was Composer erwartet, und dem, was WordPress installiert hat. Wenn Sie sich für Composer entscheiden, bleiben Sie dabei, es als Aktualisierungstool zu verwenden, und arbeiten Sie nicht über den WordPress-Administrator.
Wann sollten Sie Composer verwenden ?
Ich bin mir sicher, dass viele von Ihnen sich fragen, warum Composer so ein großartiges Tool für die WordPress-Entwicklung ist. WordPress wurde nicht für Composer entwickelt, also müssen Sie, um damit zu arbeiten, einige Hürden überwinden, damit es gut funktioniert.
Für Plugin- und Theme-Entwickler gibt es einen klaren Fall, dass Composer den Umgang mit Abhängigkeiten erleichtern kann, die Sie aus dem breiteren PHP-Ökosystem einbringen müssen. Für WordPress-Entwickler ist das Argument weniger klar. Einige verwenden Composer gerne, um ihre gesamte Website so zu verwalten, wie es Roots tut. Dadurch können Sie weniger Dateien von Git verwalten lassen, aber das schien mir nie ein überzeugender Fall zu sein.
Der Fall, den ich mag, ist, dass Composer es einfach machen kann, unterschiedliche Abhängigkeiten für verschiedene Umgebungen zu haben. Sie können dann Ihren Bereitstellungsprozess verwenden, um diese Abhängigkeiten in Ihren Umgebungen bereitzustellen, ohne sie manuell verwalten zu müssen.
Als Entwickler müssen Sie auch die Bedürfnisse Ihrer Kunden berücksichtigen. Wenn sie kein Entwicklungsteam haben, um die Website langfristig zu verwalten, können Probleme mit einer nicht standardmäßigen WordPress-Installation auftreten. In einigen Fällen können ihre Hosts ihnen mitteilen, dass kein Support verfügbar ist, weil sie nicht die normale Art der Installation und Verwendung von WordPress verwenden. Wenn Sie Kunden bedienen, müssen Sie immer die coole Technologie, die Sie verwenden, mit der langfristigen Belastbarkeit des Kunden in Einklang bringen.
Allein aus diesem Grund verwende ich Composer nicht in meinen Full-Site-Projekten. Meine Kunden werden sie jahrelang Tag für Tag verwalten, und ich möchte keine zusätzlichen Barrieren errichten. Wir möchten beide, dass ihre Websites in den kommenden Jahren reibungslos funktionieren.
Wenn Sie Ihre PHP-Kenntnisse mit modernen Technologien verbessern möchten, sollten Sie sich unbedingt ansehen, wie Composer in Ihre WordPress-Workflows passen kann.