Im heutigen Artikel zeige ich Dir, wie man ein PHP-Projekt mit dem Laravel Framework unter Ubuntu erstellt. Ferner wird das Bootstrap Framework implementiert und zuletzt eine modulare Struktur für größere Projekte vorbereitet.
Grundvoraussetzung für dieses Tutorial ist, dass Composer bereits installiert wurde. Falls Du nicht weißt, wie das geht, dann findest Du hier: https://wiki.ubuntuusers.de/Composer/ eine Anleitung dazu.
Zunächst öffnest Du unter Ubuntu ein Terminal-Fenster. Am schnellsten geht dies über die Tastenkombination Strg + Alt + T. Du wechselst in das Verzeichnis, in dem Du das neue Projekt anlegen möchtest. Wenn Du einen Virtualhost erstellt hast, dann ist das root Verzeichnis die richtige Wahl.
Dann gibst Du im Terminal folgende Befehlszeile ein:
composer create-project laravel/laravel [Projektname] --prefer-dist
Anstelle von [Projektname] gibst Du den Namen Deines neuen Projektes ein. Es dauert eine Weile und es rattern viele Zeilen über das Terminal. Sobald der normale Prompt erscheint, ist das Projekt angelegt. Nun müssen noch Rechte für zwei Verzeichnisse gesetzt werden, damit das alles funktioniert.
Gib im Terminal folgende Befehle nacheinander ein:
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Damit wäre die grundlegende Installation bereits abgeschlossen und Du kannst die neue Seite im Browser ansehen. Es erscheint folgendes Bild:
Damit könntest Du bereits beginnen, Dein Laravel-Projekt zu entwickeln. Einige Beispiele werde ich zu einem späteren Zeitpunkt zeigen. Jetzt will ich noch das Bootstrap CSS-Framework in das neue Projekt einbinden. Hierzu muss Du nur Laravel UI nachinstallieren (Für Details darüber siehe diesen Link: https://github.com/laravel/ui). Dies geht wieder über den Composer, indem man den folgenden Befehl im Terminal eingibt:
composer require laravel/ui --dev
Damit steht dem Entwickler die Möglichkeit offen, Bootstrap, React und / oder Vue zu verwenden. Wie ich schon erwähnte, will ich in dem neuen Beispielprojekt Bootstrap einbinden. Hierzu gibst Du folgende Befehle im Terminal ein:
php artisan ui bootstrap --auth
npm install
npm run dev
npm ist ein Paketmanager für die JavaScript-Laufzeitumgebung Node.js. Fall Du diesen noch nicht installiert hast, dann wäre jetzt ein guter Zeitpunkt dafür. ;-) Eine Anleitung für die Installation findest Du unter diesem Link: https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/.
Die Option “-auth” ist hilfreich, wenn Du für Dein neues Projekt eine Autorisierungs- und Authentifizierungskomponente mit einem Login verwenden möchtest. Falls Du dies nicht wünschst, dann kannst Du diese Option bei dem obigen Befehl auch weglassen.
Von Hause aus kann man mit Laravel nur Controller erstellen. Bei größeren Projekten wird dies schnell unübersichtlich und außerdem will man einzelne Komponenten seines Projekten gelegentlich auch in anderen Projekten wiederverwenden. Hierzu wäre eine modulare Struktur des Projektes nützlich, so dass man einzelne Module aus einem Projekt in einem anderen Projekt verwenden kann.
Zu diesem Zweck gibt es eine Erweiterung für Laravel, die man noch nachträglich installieren muss. Dazu gibst Du bitte im Terminal den folgenden Befehl ein:
composer require nwidart/laravel-modules
Jetzt müssen wir noch diese Erweiterung in unserem neuen Projekt konfigurieren. Dazu braucht es eines weiteren Befehls im Terminal:
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
Jetzt müssen wir den Autoloader von Composer über die neue Funktionalität, mit Modulen zu arbeiten, informieren. Dazu öffnest Du die Datei composer.json aus dem Hauptverzeichnis des neuen Projektes und ergänzt die fettgedruckte Zeile an der bezeichneten Stelle.
"autoload": { "psr-4": { "App\\": "app/", "Modules\\": "Modules/" } }
Die Änderungen speichern und im Terminal Folgendes eingeben
composer update
damit der Composer diese Änderungen bei sich speichert.
Nun kann im Projekt ein neues Modul erstellt werden mit dem Befehl
php artisan module:make <Modulname>
Als <Modulname> gibst Du den Namen des Moduls an, welches Du neu erstellen möchtest. Es wird ein neues Verzeichnis “Modules” angelegt und darunter ein Verzeichnis mit dem Namen des soeben erstellten Moduls. Unterhalb dieses Verzeichnis siehst Du, wie schön dieses Modul vom restlichen Projekt gekapselt ist und Du jedes Element – von der Resource, über das Routing bis hin zu den Views – gesondert erstellen und konfigurieren kannst.
Mit gefällt Laravel bisher als PHP-Framework recht gut und ich werde in meinem Blog noch einige Artikel zu diesem Thema schreiben.
Fragen oder Feedback zu diesem Artikel