In diesem Tutorial fahren wir fort ein eigenes Social Network zu erstellen. Falls composer noch nicht auf dem Computer installiert wurde bzw. noch kein neues Laravel Projekt mit dem Namen network erstellt wurde, bitte zunächst auf der ersten Seite die notwendigen Schritte durcharbeiten.

Zurück auf die erste Seite

 

Erste Inhalte mit Laravel Blade

Laravel UI Package installieren

Laravel hat seit bestehen eigene Frontend Dateien mitgebracht inklusive eines sogenannten Bootstrap’s. Dieses stellt eine Bibliothek nützlicher CSS und HTML Klassen bereit. Seit Laravel 6.x wurde dieses Paket deklariert als Tools für eine Oberfläche (also ein User Interface, kurz UI) und somit nicht für jeden Einsatzzweck nötig. Daher hat man kurzerhand u.a. den Bootstrap-Teil in ein Paket laravel/ui ausgelagert, welches wir nun mit folgendem Befehl installieren. Der Zusatz –dev sagt dem Composer, dass er das neue Paket aber nur für unsere Entwicklungsumgebung bereitstellen soll nicht hingegen auf etwaigen Produktivumgebungen wie Live-Servern.

composer require laravel/ui --dev

Die Ausgabe im Terminal sieht dann “ungefähr” wie folgt aus (gekürzt):

composer require laravel/ui --dev
    1/6:	http://repo.packagist.org/p/provider-2019-10$58e57b73efa2b75321c5961b7d2cf340b2c1cd47041deaaa5146843fa7e55710.json
    2/6:	http://repo.packagist.org/p/provider-latest$3671380cfefba4806526c4934438aa06edd80879515aeec07508d302eacec596.json
    3/6:	http://repo.packagist.org/p/provider-2015$edc040f2b7284f13eb102a1c7004f67c8a1e6fef860b2f1417e0991e60c2dcf6.json
    4/6:	http://repo.packagist.org/p/provider-2016$801700a42a936a4663f87584be5915737a8c40038fd0297bf70539eeb9905639.json
    5/6:	http://repo.packagist.org/p/provider-2019-07$841d07bf7d932f26532e2ec1a4cf062a40494f24d5cb97c283c05688ecb2d357.json
    6/6:	http://repo.packagist.org/p/provider-2018$685759e72e9d00b765c530ebf1446c2c8673f7e5bfa18ccd9a45c65c6287d7e9.json
    Finished: success: 6, skipped: 0, failure: 0, total: 6
Using version ^1.1 for laravel/ui
./composer.json has been updated
    1/3:	http://repo.packagist.org/p/provider-latest$61881b2b321cfc4b3f4c8031844d95ec2933ad8bd90a6d2a6da2fbb6e37ce0e3.json
    2/3:	http://repo.packagist.org/p/provider-2017$a3b3e672ceffb3e7fb16eea41bfdea8c4941f2561b5d24ba4a216a1cc21b016a.json
    3/3:	http://repo.packagist.org/p/provider-2018$bfb2e2ba5ef33c42a96dc81923edff144c4bcab96caed62e316a1136c6dc1c30.json
    Finished: success: 3, skipped: 0, failure: 0, total: 3
Loading composer repositories with package information
Updating dependencies (including require-dev)
    1/1:	https://codeload.github.com/laravel/ui/legacy.zip/57e2361b55ed1bc80ff0b3258b9713626fb38a2b
    Finished: success: 1, skipped: 0, failure: 0, total: 1
Package operations: 1 install, 0 updates, 0 removals
  - Installing laravel/ui (v1.1.1): Loading from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: laravel/ui
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.

Laravel bietet neben Bootstrap auch weitere UI Vorlagen an, welche hier einmal aufgelistet werden:

// Generate basic scaffolding...
php artisan ui bootstrap
php artisan ui vue
php artisan ui react

// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
php artisan ui vue --auth
php artisan ui react --auth

Wir beschränken uns in diesem Tutorial auf Twitter Bootstrap, also führen wir den folgenden Befehl aus:

$ php artisan ui bootstrap --auth

Wir haben also ui bootstrap gemeinsam mit --auth verkettet, was bedeutet, dass Laravel nun die Bootstrap UI installiert und uns zusätzlich Login, Registrieren, Passwort vergessen und Validierung quasi direkt out-of-the-box zur Verfügung stellt. Die Ausgabe sieht dann wie Folgt aus:

$ php artisan ui bootstrap --auth

Bootstrap scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfully.

In der vorletzten Zeile sehen wir, dass uns Laravel darum bittet, mithilfe von npm etwas zu kompilieren 🤷🏼‍♂️!? Dies beachten wir an dieser Stelle noch nicht und widmen uns dem, was nun “eigentlich” passiert ist. Sollten wir unseren Entwicklungsserver nicht mehr laufen haben, so starten wir diesen mithilfe von php artisan serve erneut und rufen die angezeigte URL http://127.0.0.1:8000 auf und sehen was passiert ist:

Automatisch sind nun oben rechts die Punkte “LOGIN” und “REGISTER” hinzugekommen.

NodeJS und npm

Sofern NodeJS und npm noch nicht installiert sind, kann dies unter node.JS und npm unter Mac OS installieren bzw. node.JS und npm unter Windows installieren nachgeholt werden.

Laravel Mix

Wir wurden bereits von Laravel dazu gebeten, unsere Änderungen zu kompilieren. Hierzu geben wir nun den folgenden Befehl in der Konsole ein:

npm install && npm run dev

Zugegeben dauert dieser Befehl seine Zeit ⏰…

Andreas Pabst hat 4,90 von 5 Sternen 106 Bewertungen auf ProvenExpert.com