Entwicklungsumgebung
Diese Seite richtet sich an Entwickler, die den Rechner einrichten, auf dem sie Websites bauen. Eine Entwicklungsinstallation braucht wenige Befehle: Kernel und Erweiterungen als Git-Klone, eine Datenbank in einer SQLite-Datei und einen Webserver, der mit einem Befehl startet. Das Kapitel Eine Entwicklungsinstallation einrichten des Buchs enthält jedes Detail; diese Seite ist die Zusammenfassung für CMS-Entwickler mit dem Projekt drumherum.
Inhalt
- Was Sie brauchen
- Schritt 1: der Code als Git-Klone
- Schritt 2: mit einem Befehl installieren
- Schritt 3: ausliefern
- Schritt 4: Fehler sichtbar machen
- Schritt 5: die Erweiterungen Ihres Projekts
- Arbeit im Team
- Regeln, die Entwicklung und Live-Betrieb trennen
- Wenn etwas schiefgeht
Was Sie brauchen
PHP 8.0 oder später (PHP 7.4 ohne Support nutzbar) mit den Erweiterungen, die die composer.json im Hauptverzeichnis verlangt (dom, mbstring, json,
iconv, simplexml und weitere; SQLite 3 für die Standarddatenbank, GD oder ImageMagick für Bilder), Composer und Git
(Werkzeuge, die Sie brauchen,
Anforderungen).
Schritt 1: der Code als Git-Klone
composer config --global 'preferred-install.se7enxweb/*' source
git clone https://github.com/se7enxweb/exponential.git mysite
cd mysite
git switch -c my-dev
composer installIst preferred-install auf source gesetzt, ist jede se7enxweb/*-Erweiterung ein Git-Klon unter
extension/<name> mit ihrer Geschichte; Sie können also nachlesen, warum Code so ist, wie er ist, und Korrekturen
zurückschicken (Mit Git entwickeln, Den Code holen).
Schritt 2: mit einem Befehl installieren
php bin/php/console exp:install --applyOhne Optionen installiert das das Seitenpaket sevenx_multisite auf SQLite in eng-US und gibt die Adresse der
Website, die Anmeldung der Administration und ein erzeugtes Administratorpasswort aus (auch in
var/log/initial-admin-password, nur für seinen Eigentümer lesbar). Andere Datenbanken und Pakete:
Die Installation über die Konsole. Es weigert sich, über eine vorhandene
Installation zu laufen, sofern nicht --force angegeben ist; richten Sie es nie auf eine Datenbank, die wichtig ist.
Eine Abkürzung, die viele Entwickler anlegen: ln -s bin/php/console console, dann ./console list.
Schritt 3: ausliefern
./console exp:velocity startVelocity, der Anwendungsserver von Exponential, wird mit settings/velocity.ini [ServerSettings] Engine=php
ausgeliefert: Es führt den eingebauten Server von PHP (php -S) mit dem Router bin/php/velocity-router.php aus, auf
dem Port aus [PHPServerSettings] (mitgeliefert 8087). Öffnen Sie die Adresse, die der Installer ausgegeben hat. Die
persistente Engine qbix, FrankenPHP und Apache oder nginx mit PHP-FPM sind die Möglichkeiten für die Produktion und
für Tests wie in der Produktion (Die Website ausliefern,
Lektion 13.2: Velocity für Entwickler).
Schritt 4: Fehler sichtbar machen
./console exp:ini set site.ini/DebugSettings/DebugOutput enabled global --allow-root-user
./console exp:ini set site.ini/TemplateSettings/ShowUsedTemplates enabled global --allow-root-user
./console exp:ini set site.ini/TemplateSettings/TemplateCompile disabled global --allow-root-user
php bin/php/ezcache.php --clear-tag=ini --allow-root-userFehler, SQL und die verwendeten Templates erscheinen unter jeder Seite, und Template-Änderungen sind sofort sichtbar.
Beschränken Sie die Debug-Ausgabe auf jedem Rechner, den andere erreichen können, auf Ihre Adresse (DebugByIP,
DebugIPList[]) (Debug-Ausgabe und Logs für Entwickler,
Debug-Leiste). Logs liegen in var/log/.
Schritt 5: die Erweiterungen Ihres Projekts
mkdir -p extension/exp_mysite/settings extension/exp_mysite/design/exp_mysite/templates
git -C extension/exp_mysite init
./console exp:ini add 'site.ini/ExtensionSettings/ActiveExtensions[]' exp_mysite global --allow-root-userWas hineingehört: Erweiterungen, die Sie schreiben werden. In der Administration angelegte Klassen gehören in Paketen in dieses Repository (Eine Inhaltsklasse anlegen).
Arbeit im Team
- Eine Entwicklungsinstallation je Entwickler, jede aus denselben Projekt-Repositorys.
- Klassen und Demo-Inhalte werden in Paketen übertragen, Layouts in Übertragungsdateien von
exp:layouts, Einstellungen und Templates in der Erweiterung. Bauen Sie einen Entwicklerrechner daraus neu auf, nie aus einer Kopie von Live. - Eine gemeinsame Staging-Installation, bereitgestellt wie Live (Eine Website bereitstellen), ist der Ort, an dem Redakteure und Tester Arbeit sehen, bevor sie live geht.
- Führen Sie die Prüfungen des Projekts aus, bevor Sie eine Änderung teilen (Prüfungen, bevor Sie eine Änderung teilen).
Regeln, die Entwicklung und Live-Betrieb trennen
| Regel | Warum |
|---|---|
| Entwickeln Sie nie auf der Live-Website | ein Tippfehler in einem Template oder einer Einstellungsdatei legt die Seite lahm |
Kopieren Sie settings/override/ nie zwischen Rechnern | es enthält Passwörter und hostspezifische Werte |
| Verwenden Sie Kopien von Live-Inhalten nur, wenn Sie müssen | Live-Inhalte können personenbezogene Daten enthalten |
Testkonten und E-Mails verwenden example.invalid | kein Test darf einer echten Person eine E-Mail schicken |
| Schalten Sie die Debug-Ausgabe vor dem Live-Gang ab | sie verrät Pfade, SQL und Einstellungen |
Wenn etwas schiefgeht
| Symptom | Prüfen Sie |
|---|---|
composer install bricht mit einem Fehler zur PHP-Version ab | php -v; Exponential 6 braucht PHP 8.0 oder später (PHP 7.4 ohne Support nutzbar) |
| Eine leere Seite | var/log/error.log und das PHP-Fehlerlog |
| Eine Template-Änderung wirkt nicht | TemplateCompile, die Template- und Override-Caches |
| Eine neue Klasse wird nicht gefunden | php bin/php/ezpgenerateautoloads.php -e, dann die Caches leeren und den Server neu starten |
Mehr: Wenn etwas schiefgeht.
Verwandte Seiten
- Ihre erste Stunde als Entwickler
- Modul 1: Die Entwicklungsinstallation
- Demomodus für Entwickler
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.