Komponist für WordPress, Teil 1
Okay, nachdem Sie all die verschiedenen Bibliotheken besprochen haben, die helfen können, die Codequalität Ihrer Arbeit zu verbessern, wirft es immer noch eine Frage auf:
Wie bringen wir diese Projekte dazu, gegen unsere Codebasis zu arbeiten?
Kurz gesagt, es erfordert Composer. Wenn Sie es noch nie benutzt haben, habe ich schon einmal kurz darüber geschrieben, aber ich beabsichtige, die Grundlagen dessen zu vermitteln, was Sie brauchen, um damit und den oben genannten Bibliotheken in Ihrer Arbeit zu arbeiten.
Sowohl in diesem als auch im nächsten Beitrag werde ich Ihnen mitteilen, wie Sie alles lokal in der einfachsten Form einrichten und dann wie es in Git integriert wird, damit Sie es in Ihrem Alltag verwenden können.
Composer für WordPress konfigurieren
Es gibt eine Menge Informationen, die das können (und ich würde argumentieren, dass sie in eine Datei für Composer aufgenommen werden sollten). Dazu gehören Dinge wie die Autoreninformationen, PSR, Informationen usw. Aber das würde wirklich den Rahmen dieses Beitrags sprengen. Stattdessen möchte ich das Nötigste mitteilen, wie Sie diese Informationen einrichten und konfigurieren können.
Ein Musterverzeichnis
Angenommen, Sie beginnen für einen Moment mit der Arbeit an einem Plugin oder etwas, das mit WordPress zu tun hat und für das die verschiedenen Bibliotheken erforderlich sind, die in der vorherigen Serie besprochen wurden. Und wenn Sie das Verzeichnis dafür einrichten, werden Sie nur sehr wenige Dateien haben. Eventuell ein paar leere PHP-Dateien, Assets etc. Vielleicht sieht es dann so aus:
Zugegeben, das obige Beispiel ist dem, wie Ihre Arbeit aussehen könnte, schon ein wenig voraus, denn:
- Es gibt eine
composer.lock
Datei, die zeigt, dass Composer ausgeführt wurde, - Es hat ein
vendor
Verzeichnis, das zeigt, dass Bibliotheken über Composer installiert wurden, - Es gibt eine
grumphp.yml
Datei, die definiert, wie GrumPHP beim Sniffen von Code funktionieren soll (und ich werde darauf später eingehen).
Aber der Kern des Obigen ist derselbe: Sie haben composer.json
und es definiert und enthält alles, was wir basierend auf dem vorherigen Beitrag benötigen. Wie richten wir es also ein?
Composer einrichten
Zunächst müssen Sie eine Vorstellung davon haben, wie Sie Ihr Plugin strukturieren werden. Zum Beispiel habe ich ein Plugin-Setup wie folgt:
- Alle PHP-Dateien befinden sich im
src
Verzeichnis, - Alle CSS-, JavaScript-, Bilder- usw. Dateien befinden sich im
assets
Verzeichnis, - Das
vendor
Verzeichnis ist für Dinge, die über Composer installiert werden, views
wird im Front-End des Projekts verwendet.
Zum Beispiel:
Zweitens möchten Sie in dem betreffenden Verzeichnis eine Datei namens composer.json
. Dies kann über das Terminal erfolgen, indem Sie einfach einen touch
Befehl ausgeben, oder Sie können es in Ihrer IDE erstellen.
Das Wichtige, was man daraus mitnehmen muss, ist, dass es ein src
Verzeichnis gibt, denn das ist das Verzeichnis, das unsere PHP-Dateien enthält, und das ist das Verzeichnis, das wir schnüffeln lassen wollen.
Eine grundlegende Composer-Datei
Vor diesem Hintergrund ist hier eine grundlegende composer.json
Datei, die Sie in Ihren Projekten verwenden können, basierend auf der vorherigen Serie und basierend auf dem, was unten geteilt wird:
{
"name": "pressware/demo-wordpress-plugin",
"description": "This file is used to show how to configure a WordPress plugin using Composer.",
"autoload": {
"psr-4": {
"Pressware": "src/"
}
},
"require-dev": {
"phpro/grumphp": "^0.11.6",
"phpmd/phpmd": "^2.6",
"phpunit/phpunit": "5.7.21",
"nikic/php-parser": "^3.0",
"sebastian/phpcpd": "^3.0",
"povils/phpmnd": "^1.1",
"squizlabs/php_codesniffer": "^3.0",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"sensiolabs/security-checker": "^4.0"
}
}
Wenn Sie sich die obige Datei ansehen, können Sie sie folgendermaßen analysieren:
- Die Zeilen 2 und 3 geben eine kleine Beschreibung dessen, worum es bei dem Plugin geht. Das sind auch andere Bereiche in dieser Datei, um mehr Informationen darüber zu geben, was getan werden muss.
- Die Zeilen 4 bis 8 sind wichtig, weil sie erklären, dass wir PSR-4 zum automatischen Laden verwenden und dass alle Dateien unter den Top-Level-Namespace von fallen
Pressware
und dass sich die PHP-Dateien in demsrc
Verzeichnis befinden. - Die Zeilen 9 – 18 decken alle Dateien ab, die in der vorherigen Serie behandelt wurden.
Geben Sie als Nächstes den folgenden Befehl in Ihrem Terminal aus:
$ composer install
Und das wird diese Pakete installieren.
Was ist mit Commitments?
Um sicherzustellen, dass Sie Commits richtig schnüffeln und handhaben, ist es wichtig, dass Sie GrumPHP so konfigurieren, dass es die Dateien überwacht. Aber das schaue ich mir im nächsten Beitrag an.
In der Zwischenzeit ist dies vielleicht eine gute Gelegenheit, ein Demo-Plugin einzurichten und mit dem obigen Code zu üben. Es kann schwierig sein, es beim ersten Mal richtig einzurichten. Glücklicherweise sind viele der Ausgabefehler wirklich leicht zu verstehen, sodass es relativ einfach ist, sie zu beheben.