Dieses Tutorial soll den perfekten und einfachen Einstieg in die Welt des Laravel Frameworks bieten. 👍🏽 Hierfür entwickeln wir ein eigenes, kleines Social Network auf Basis von Laravel.
Wir gehen Schritt für Schritt die Anforderungen durch um mit Laravel erfolgreich zu starten!

An wen richtet sich dieses Laravel 6.X Tutorial?

Grundsätzlich beschränkt sich dieses Tutorial auf das Laravel Framework. Dies bedeutet, dass Kenntnisse in der PHP Entwicklung bestehen sollten. Sollte bislang eher prozedual statt objektorientiert entwickelt worden sein, empfehle ich vorab ein PHP OOP Tutorial für Einsteiger. Falls die beiden Begriffe jeweils unbekannt sind, empfehle ich meinen anderen Kurs Einstieg in die Programmierung mit PHP.

Warum Laravel bzw. wieso ein Framework?

Laravel ist das beliebteste und am schnellsten wachsende PHP Framework derzeit und die absolute Nr. 1 unter den PHP Frameworks auf github. Dabei besitzt Laravel eine sehr aktive Community und glänzt durch ein hervorragendes Ökosystem rund um Laravel herum. Zudem besitzt es eine sehr schnelle Lernkurve und ist zugleich äußerst leistungsstark, was kleine sowie große Projekte ermöglicht.

Ein Framework bildet ein Grundgerüst für eine Anwendung oder eine Gestaltung oder beides. Es legt immer Strukturen fest, an der Entwickler und Designer sich bezüglich der Funktionalität oder des Designs orientieren können. Dabei will ein Framework stets möglichst umfassende Strukturen zur einfachen Wiederverwendung liefern. Eine Hand voll offensichtlicher Vorteile habe ich nun folgend aufgelistet:

  • Code und Dateiorganisation ist extrem einfach
  • Eine Menge von Werkzeugen und Bibliotheken, die mit folgenden helfen:
    • Formularvalidierung
    • Datenbank-Abstraktion
    • Ein/Ausgangsfilterung
    • Session und Cookiebehandlung
    • E-Mail, Kalender und Seitennummerierung und so weiter
  • MVC (Model View Controller) Architektur
  • Weniger und dafür verständlicheren Code

Voraussetzungen

Laravel nutzt den mächtigen Abhängigkeitsmanager composer. Das bedeutet, dass wir uns zu Beginn dieses Tutorials ein neues Projekt mithilfe von Composer anlegen werden. Danach tauchen wir ein in die Welt der Routes und der Laravel Blade Template Engine. Dies bedeutet, dass nach diesem Einsteiger Tutorial unsere erste, eigene, kleine Laravel Seite entstanden ist, welche wir sukzessive zu einem Social Network ausbauen! Ebenfalls ist es Voraussetzung ein lauffähiges PHP (Version mindestens 7.2) auf dem Rechner installiert zu haben.

Composer installieren

Für dieses Einsteiger Laravel Tutorial benutzen wir den sogenannten Composer. Zugegeben ist dieses Tool bereits einige Zeit in der PHP Welt zu finden, doch ist es umso faszinierender, dass die Verwendung des Tools sich meist auf ein minimum reduziert. Die Idee dahinter ist einfach: Ich möchte ein Programm schreiben und brauche hierfür auch Quellcode von anderen Entwicklern. Vor allem dann, wenn ich das Rad nicht neu erfinden möchte! Also kann ich Composer darauf hinweisen, mir doch diesen fremden Programmcode (soweit veröffentlicht) zu installieren und in meinem Programm verfügbar zu machen! Simpel aber genial. In unserem Fall teile ich Composer in der Kommandozeile mit: Hole mir den Quellcode für Laravel (in der aktuellsten Version) und mache ihn in meinem Programm (was noch nicht existiert) verfügbar.

Composer installieren unter Windows

Zunächst, sofern nicht bereits geschehen, muss also die Setup für Composer heruntergeladen werden. Dies geschieht entweder über die Homepage https://getcomposer.org/download/ oder direkt unter https://getcomposer.org/Composer-Setup.exe. Schritt für Schritt wird man durch den Installer geführt.

Schritt 1: Nachdem der Installer gestartet wurde, klicken wir, ohne die Checkbox ⬜️ Develop Mode zu aktivieren, auf weiter.
Schritt 2: Hier sucht das Setup die Installation von PHP (genauer: den Ort, an welchem sich die php.exe befindet). Dies kann z.B. C:\php\php.exe sein. Meist findet er die Installation ganz automatisch über die Umgebungsvariablen. Ein Klick auf Next genügt.
Schritt 3: Nun möchte das Setup uns auf einen Fehler bzw. ein fehlendes Element in der PHP-Konfiguration hinweisen. Hier die Checkbox ☑️ Update this php.ini anklicken und mit Next weiter navigieren.
Schritt 4: Falls der Rechner sich hinter einem Proxy befindet oder ein Proxy Server genutzt werden soll, so ist dieser hier einzutragen. Andernfalls kann auf Next geklickt werden und final das Setup durch Finish beendet werden.

Nachfolgend werden noch zwei weitere Installationen unter Betriebssystemen erläutert, welche an dieser Stelle übersprungen werden können.

Composer installieren unter Mac OS

Um composer auf dem Mac zu installieren, öffnen wir ein neues Terminal Fenster und navigieren mithilfe von cd ~ zum Userverzeichnis.
Dann führen wir den nachfolgenden Befehl aus um Composer herunterzuladen. Dies wird eine ausführbare PHP Datei erzeugen (phar, PHP Archiv) mit dem Namen composer.phar:

curl -sS https://getcomposer.org/installer | php

Diese Datei stellt den Composer dar und soll künftig global verwendbar sein. Daher verschieben wir die Datei wie folgt:

sudo mv composer.phar /usr/local/bin/

Wenn composer immer root Rechte besitzen soll, sind die Berechtigungen noch entsprechend anzupassen:

sudo chmod 755 /usr/local/bin/composer.phar

Anschließend erzeugen wir den Composer Befehl, damit unsere Bash auch weiß was zu tun ist, wenn wir composer in die Konsole eingeben. Also bearbeiten wir unsere Bash Profil Datei, welche vor jedem Start des Terminals bzw. der Bash geladen wird:

nano ~/.bash_profile

Hier fügen wir die folgende Zeile z.B. an das Ende der Datei…

alias composer="php /usr/local/bin/composer.phar"

…und laden die neue Profildatei…

source ~/.bash_profile

Das erneute Laden ist künftig nicht mehr notwendig. Die Datei wird automatisch geladen bevor wir ein neues Terminal Fenster öffnen!

Tipp: Es ist auch möglich, composer in die PATH Umgebungsvariable zu schreiben:

export PATH="$HOME/.composer/vendor/bin:$PATH"

Weitere Anmerkungen und Kommentare können unter dem Post Composer installieren unter Mac OS entsprechend getätigt werden.

Composer installieren unter Linux, Ubuntu…

Um den Composer unter Linux, Ubuntu, … zu installieren, ist der apt Package Manager erforderlich. Anleitungen für andere Package Manager gibt es alternativ unter getcomposer.org. Für den Installer ist eine aktuelle Version von curl notwendig. Also aktualisieren wir die installierten Packages:

sudo apt-get update

Danach installieren wir cURL:

sudo apt-get install curl

Nun installieren wir den Composer Installer

sudo curl -s https://getcomposer.org/installer | php

Es ist eine ausführbare PHP Datei (phar) im aktuellen Verzeichnis abgelegt worden. Da wir aber composer global ausführen möchten, ist es notwendig diese Datei zu verschieben:

sudo mv composer.phar /usr/local/bin/composer

Composer korrekt installiert?

Es ist sowohl unter Windows, Mac oder Linux bzw. Ubuntu einfach zu überprüfen, ob composer korrekt installiert wurde. Hierzu öffnen wir einfach ein Kommandozeilenfenster und geben den Befehl composer ein und bestätigen mit Enter. Der Pfad unter welchem wir dies tun ist hierbei völlig egal, da composer global installiert sein sollte. Die Ausgabe sollte also nun wie folgt aussehen:

Wenn bei laravel oder composer keine Ausgabe erfolgt, dann fehlt vermutlich etwas in der Umgebungsvariable $PATH. Also:
echo $PATH sollte irgendwo composer ausgeben. Falls nicht, hilft eine kurze Suche auf Google, wie man $PATH entsprechend auf dem eigenen Betriebssystem korrekt setzen kann.

Sollte es zu Problemen bei der Installation mit Composer kommen, so helfe ich gerne! Ein Kommentar unter diesem Artikel oder eine Email genügt. Ich freue mich auf jegliche Anmerkung!

Wir sind nun bereit und haben den Abhängigkeitsmanager composer erfolgreich installiert und getestet. Nun sind wir also bereit das erste Laravel Projekt zu initiieren.

Neues Laravel Projekt

Composer create-project

Ich bevorzuge den composer create-project Befehl gegenüber des Laravel Installers. Zwar muss man sich bei ersterem deutlich mehr merken, aber man kann auch viel mehr einstellen.
Nun ist es also an der Zeit: Wir erstellen unser erstes Laravel Projekt! Dies ist übrigens denkbar einfach… 😊

composer create-project laravel/laravel network --prefer-dist

Mithilfe dieses Befehls erzeugen wir ein neues Laravel Projekt unter dem Verzeichnis network. Der Zusatz --prefer-dist teilt dem Composer mit, er solle doch die neueste, stabile Version benutzen.

Die nun folgende Ausgabe habe ich bewusst gekürzt! Sie kann sich je nach Composer und Konfiguration unterscheiden.

composer create-project laravel/laravel network --prefer-dist
(...)
Installing laravel/laravel (v6.4.0)
  - Installing laravel/laravel (v6.4.0): Loading from cache
Created project in network
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 84 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-ctype (v1.12.0): Loading from cache
  - Installing phpoption/phpoption (1.5.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: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
> @php artisan key:generate --ansi
Application key set successfully.

Der Laravel Installer

Wie ich bereits erwähnte, kann es sein, dass der Laravel Installer eine andere Version installiert und ich ggf. nicht die erwarteten Einstellungen vorfinde. Daher bevorzuge ich die vorab genannte Variante der Installation. Zugegeben noch „simpler“ ist es aber den Installer zu verwenden. Zunächst muss dieser jedoch global verfügbar installiert werden. Dies erfolgt durch diesen Befehl:

composer global require laravel/installer

Ist alles erfolgreich gelaufen, kann ein neues Projekt mithilfe des folgenden Befehls erstellt werden, wobei unser-projekt wieder für das Verzeichnis steht, in welchem die frische Laravel Installation erstellt wird:

laravel new network

Erste Schritte, erster Test

Ordnerstruktur von Laravel

Ob nach einer frischen Installation von Laravel oder dem klonen eines vorhandenen Repositories (also ein Projekt, was es schon z.B. auf github oder bitbucket gibt), sieht man sich immer demselben Ordneraufbau gegenüber.

Doch keine Sorge, alle Verzeichnisse und deren Funktion lernen wir im Tutorial genauestens kennen.

Development Server starten

Um nun zu überprüfen, ob alles bereits korrekt läuft, nutzen wir den integrierten Entwicklungsserver von Laravel.

$ cd network/
$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

Gemeinsam rufen wir nun (egal ob mit Google Chrome, Safari, Firefox,…) im Browser die angezeigte URL auf: http://127.0.0.1:8000 und sehen was passiert:

Sollte sich der Aufruf von diesem hier unterscheiden, kann dies unterschiedliche Gründe haben. Häufig falsche Berechtigungen oder fehlende Cache Verzeichnisse (siehe auch Laravel – Please provide a valid cache path). Weitere Anmerkungen, Fehler und Diskussionen sehr gerne unter diesem Artikel!

Weiter zu Seite 2

Nun sind wir startklar für den ersten Inhalt unserer Anwendung – auf der nächsten Seite unseres Tutorials Laravel Tutorial Seite 2!