Laravel ist ein PHP-basiertes Free and Open Source Framework mit dem man Web-Applikationen entwickeln kann.
Der Slogan von Laravel ist
The PHP Framework for web artisans
Laravel gilt momentan als eines der populärsten PHP-Frameworks. Es versucht, Ideen aus Ruby on Rails und .NET in die PHP Welt zu bringen und macht damit den PHP Code sauberer und strukturierter. Interessante Features von Laravel in diesem Zusammenhang:
- Laravel nutzt das Model, View, Controller Modell
- Es nutzt die PHP Paketverwaltung Composer
- Eloquent ORM ist eine PHP Implementierung des Active Record Entwurfsmusters. Es repräsentiert Datenbanktabellen als Klassen und erlaubt dadurch beispielweise Datenbankabfragen „einfach“ zu programmieren. Wenn am entsprechenden Objekt etwas geändert wird, wird es auch in der Datenbanktabelle geändert.
- Blade ist eine sehr übersichtliche und leistungsfähige Template Engine.
- Migrations ist ein Versionskontrollsystem für Datenbankstrukturen und erleichtert das Deployment.
- Das Artisan Kommandozeilentool bietet viele Befehle, die den Umgang mit Laravel erleichtern, um beispielsweise Update und Migrationsprozesse zu managen. Unit Tests sind ein fester Bestandteil des Frameworks und können über Artisan ausgeführt werden.
Es gibt zahlreiche weitere Features, die Sie so nach und nach entdecken und nutzen können.
Und das Beste: Laravel lässt sich in einem „normalen“ Webhosting Paket von Novatrend per Installatron installieren.
Installation Laravel
Rufen Sie in der cPanel Verwaltung das Installatron auf und wählen Laravel aus.
ACHTUNG: Seit November 2017 benutzen wir anstelle des Installatrons das Tool Softaculous. Im Beitrag Automatisierte Installation mit Softaculous beschreibe ich die grundlegenden Vorgehensweisen.
Installieren Sie Laravel in einem eigenen Verzeichnis. Dieses Verzeichnis wird unterhalb des public_html Verzeichnisses angelegt und je nach Verwendungszweck können Sie Ihre Domain auf dieses Verzeichnis zeigen lassen.
Wenn Sie nun im Browser http://ihre-domain/ihr-verzeichnis aufrufen, so sehen Sie die Default Seite des Laravel Frameworks.
Loggen Sie sich nun mittels SSL auf der Konsole ein (siehe dazu auch Root-Server – ich bin drin) und wechseln Sie in das Unterverzeichnis /public_html/laravel. Lassen Sie sich die installierten Dateien mit dem Befehl ls -l anzeigen, um einen Überblick zu erhalten. Das Ansehen der Dateien können Sie auch per FTP machen. Mit einer SSL Verbindung können Sie allerdings auch Kommandos ausführen.
seafoll1@srv11 [~/public_html/laravel]# ls -l total 204 drwxr-xr-x 11 seafoll1 seafoll1 4096 Oct 26 15:13 ./ drwxr-x--- 10 seafoll1 nobody 4096 Oct 26 16:55 ../ -rw-r--r-- 1 seafoll1 seafoll1 351 Oct 26 15:13 .env -rw-r--r-- 1 seafoll1 seafoll1 307 Aug 30 13:31 .env.example -rw-r--r-- 1 seafoll1 seafoll1 61 Aug 30 13:31 .gitattributes -rw-r--r-- 1 seafoll1 seafoll1 57 Aug 30 13:31 .gitignore -rw-r--r-- 1 seafoll1 seafoll1 76 Oct 26 15:13 .htaccess drwxr-xr-x 10 seafoll1 seafoll1 4096 Aug 30 13:31 app/ -rw-r--r-- 1 seafoll1 seafoll1 1646 Aug 30 13:31 artisan drwxr-xr-x 3 seafoll1 seafoll1 4096 Aug 30 13:31 bootstrap/ -rw-r--r-- 1 seafoll1 seafoll1 1201 Aug 30 13:31 composer.json -rw-r--r-- 1 seafoll1 seafoll1 105047 Sep 2 10:08 composer.lock drwxr-xr-x 2 seafoll1 seafoll1 4096 Aug 30 13:31 config/ drwxr-xr-x 5 seafoll1 seafoll1 4096 Aug 30 13:31 database/ -rw-r--r-- 1 seafoll1 seafoll1 503 Aug 30 13:31 gulpfile.js -rw-r--r-- 1 seafoll1 seafoll1 1780 Oct 26 15:13 index.php -rw-r--r-- 1 seafoll1 seafoll1 159 Aug 30 13:31 package.json -rw-r--r-- 1 seafoll1 seafoll1 87 Aug 30 13:31 phpspec.yml -rw-r--r-- 1 seafoll1 seafoll1 899 Aug 30 13:31 phpunit.xml drwxr-xr-x 2 seafoll1 seafoll1 4096 Aug 30 13:31 public/ -rw-r--r-- 1 seafoll1 seafoll1 1928 Aug 30 13:31 readme.md drwxr-xr-x 5 seafoll1 seafoll1 4096 Aug 30 13:31 resources/ -rw-r--r-- 1 seafoll1 seafoll1 567 Aug 30 13:31 server.php drwxr-xr-x 5 seafoll1 seafoll1 4096 Aug 30 13:31 storage/ drwxr-xr-x 2 seafoll1 seafoll1 4096 Aug 30 13:31 tests/ drwxr-xr-x 28 seafoll1 seafoll1 4096 Sep 2 10:08 vendor/
Laravel hat ein Command-line Interface namens Artisan. Es beschleunigt viele Arbeiten enorm. Rufen Sie es auf und schauen Sie die Befehle durch.
seafoll1@srv11 [~/public_html/laravel]# php artisan Laravel Framework version 5.1.12 (LTS) ... ... ...
Erste Schritte
Ich zeige ein kleines Beispiel, um Ihnen den Einstieg in Laravel zu erleichtern.
Ich möchte gern aus dem Bootstrap CSS Framework ein Layout nutzen und Laravel soll den Inhalt dafür erzeugen. Das ist das Prinzip eines jeden Content Management Systems und kann beliebig um Formulare, Benutzerregistrierungen und viele andere Dinge erweitert werden. Das Beispiel ist ein kleiner Teil des Laravel Anfänger Tutorials von Dirk Helbert. In seinem Blog finden Sie weitere Beispiele.
Worum geht es?
In diesem Beispiel arbeiten wir mit der Blade Template Engine.
Aus dem Verzeichnis /public wird Ihre Webapplikation gestartet. Nach der Laravel Installation finden Sie dort unter anderem die index.php Datei, die als Einstieg für Ihre Webapplikation fungiert. In diesem Verzeichnis befinden sich auch alle öffentlichen Resourcen, wie Grafiken und CSS Dateien.
Die Datei, die die Informationen (HTML Code) für die Laravel Startseite enthält, liegt im Ordner /resources/views und heisst welcome.blade.php.
Wir wollen diese Datei verändern (mit den Daten aus dem Bootstrap Beispiel) und dann eine neue Datei namens app.blade.php erzeugen, die das Layout enthält. Nach den Änderungen sieht die Startseite dann etwa so aus:
Bootstrap Code
Laden Sie zunächst das Bootstrap Source Code Paket von der Downloadseite (http://getbootstrap.com/getting-started/#download)
Legen Sie im Laravel Verzeichnis public ein Unterverzeichnis bootstrap an und kopieren Sie dort den Inhalt aus dem Bootstrap Verzeichnis dist hinein. Die Verzeichnisstruktur sieht dann so aus:
public/bootstrap/css //mehrere Dateien public/bootstrap/fonts //mehrere Dateien public/bootstrap/js //mehrere Dateien
Legen Sie im Laravel Verzeichnis public ein weiteres Verzeichnis mit dem Namen css an. Kopieren Sie die Datei sticky-footer-navbar.css aus dem Bootstrap Verzeichnis docs/examples/sticky-footer-navbar in das Laravel Verzeichnis public/css und benennen Sie sie um in style.css.
public/css/style.css //die umbenannte sticky-footer-navbar.css
Wechseln Sie nun in das Laravel Verzeichnis resources/views. Kopieren Sie die Datei index.html aus dem Bootstrap Verzeichnis docs/examples/sticky-footer-navbar in das Laravel Verzeichnis resources/views und benennen Sie sie um in app.blade.php.
resources/views/app.blade.php //die umbenannte index.html
Passen Sie die ../.. Pfade zu den Bootstrap-Dateien im HTML Code der app.blade.php auf Ihr Dateisystem an, fügen Sie den Verweis auf die Stylesheet Datei ein (und vergessen Sie auch die JavaScript Dateipfade am Ende der Datei nicht 🙂 )
<!-- Bootstrap core CSS --> <link href="public/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="public/css/style.css" rel="stylesheet"> ... ... <script src="public/bootstrap/js/bootstrap.min.js"></script>
Nach dem Kommentar <!– Begin page content –> befindet sich ein div Tag mit der Klasse Container. Enfernen Sie den Inhalt zwischen dem öffnenden und schliessendem div Tag und fügen stattdessen den Befehl @yield(‚content‘) ein. Der Befehl fügt später den gewünschten Inhalt ein. Die Datei enthält nun das Layout, der eigentliche Inhalt kommt aus einer anderen Quelle hinzu.
... <!-- Begin page content --> <div class="container"> @yield('content') </div> ...
Die Quelle des Inhalts befindet sich in der Datei welcome.blade.php. Löschen Sie den bestehenden Inhalt und fügen Sie folgenden Code ein:
@extends('app') @section('content') <div class="page-header"> <h1>Inhalt aus der <code>welcome.blade.php</code> Datei</h1> </div> <p class="lead">Beispieltext ...</p> @endsection
Datei: welcome.blade.php
Der Code ist recht selbsterklärend und lässt ein wenig die Faszination von Laravel erahnen. Der Befehl @extends(‚app‘) erweitert die app.blade.php um den Text zwischen @section(‚content‘) und @endsection. Hier nochmal der genaue Verezichnispfad für diese Datei:
resources/views/welcome.blade.php
Wenn Sie nun die Startseite von Laravel im Browser aufrufen, sieht sie folgendmassen aus:
Genauso elegant wie in der Template Engine lassen sich nun andere Teile Ihrer Site aufbauen (Navigation, Benutzeranmeldung, Datenbankverbindungen, etc). Falls Sie bereits Erfahrungen mit PHP haben, sollten Sie sich Laravel unbedingt ansehen.
Links:
- http://laravel.com/
- http://blog.dirk-helbert.de/blog/2015/01/24/laravel-anfaenger-tutorial-zum-mitmachen-fuer-dich/
- http://liechtenecker.at/warum-php-mit-dem-laravel-framework-wieder-spas-macht/
- http://dunebook.com/category/useful-resources-for-laravel/
- http://getbootstrap.com/getting-started/#download
tl;dr: Wenn Sie bereits ein wenig Erfahrung mit PHP haben, werden Sie an Laravel viel Freude haben!
Schreibe einen Kommentar