📔

Gästebuch im Laravel Framework programmieren

Jul 18, 2024

Gästebuch im Laravel Framework programmieren

Einleitung

  • In den 90er Jahren waren Gästebücher auf Webseiten beliebt.
  • Heute haben sie weniger Relevanz, aber technisch spannend.
  • Ein Gästebuch umfasst viele Webseitengrundlagen: Formular, Datenbank, Validierung etc.
  • Ziel: Einen Überblick über das Laravel Framework bekommen.
  • Am Ende gibt es eine Hausaufgabe zur Vertiefung.

Installation und Projekt Setup

  • Webserver: Deft.
  • Projektverzeichnis erstellen: mkdir laravel_guestbook.
  • Zugriff auf Projektverzeichnis: cd laravel_guestbook.
  • Konfiguration des Projekts: devcofig.
  • PHP Version anpassen: 8.1.
  • Laravel Projekt erstellen: composer create-project --prefer-dist laravel/laravel.
  • Visual Studio Code Plugins installieren:
    • Laravel Blade Snippets
    • PHP Intelephense
  • Webserver unter Windows einrichten.

Controller und Views erstellen

Index Controller

  • Controller Verzeichnis erstellen: app/Http/Controllers.
  • Index Controller Datei anlegen: IndexController.php.
  • Namespace und Klasse definieren: App\Http\Controllers.
  • Funktion indexAction definieren mit Rückgabe return view('index');.
  • Routes definieren in routes/web.php (Startseite IndexController@indexAction).

Views und Templates

  • Templates Verzeichnis: resources/views.
  • Basis Layout erstellen: layouts/base.blade.php.
  • Content Bereich mit @yield definieren: @yield('content').
  • Views erweitern das Basis Layout: @extends('layouts.base').
  • Sections definieren: @section('content').

Formular erstellen und absichern

  • Formular in Blade Template erstellen: index.blade.php.
  • CSRF Schutz einbinden: @csrf.
  • Eingabefelder und Button hinzufügen.
  • Validierung der Formulardaten im Controller.
  • Validierungsregeln definieren: required|max:255.
  • Fehlermeldungen anzeigen: @if ($errors->any()).
  • Eingabewerte nach Fehlern beibehalten: {{ old('username') }}.
  • Datenbankeintrag nach gültiger Validierung.

Datenbankeinbindung

  • .env Datei konfigurieren für Datenbankverbindung.
  • Laravel Model und Migration erstellen:
    • php artisan make:model GuestbookEntry -m
    • Model Klasse GuestbookEntry konfigurieren.
    • Migration definieren: schema::create mit entsprechenden Feldern.
  • Migration ausführen: php artisan migrate.
  • Eintrag in Datenbank erstellen nach erfolgreicher Validierung: GuestbookEntry::create($validatedData);.

Einträge anzeigen und Pagination einfügen

  • Einträge in Index Controller abfragen: $entries = GuestbookEntry::orderBy('created_at', 'desc')->paginate(5);.
  • Blade Template anpassen um Einträge anzuzeigen.
  • Pagination hinzufügen: {{ $entries->links() }}.
  • Pagination Darstellung mit Bootstrap.

Code Organisation und Verbesserung

  • Blade Template in kleinere Teile aufsplitten und includen: @include('partials.form').
  • Validierung in separate Klasse auslagern: app/Http/Requests/GuestbookEntryRequest.php.
  • Controller Code optimieren und strukturiert trennen.

Hausaufgabe

  • Implementiere ein Active Feld im Gästebucheintrag.
  • Initial ist der Eintrag nicht aktiv (false).
  • Admin Funktionalität um Einträge freizuschalten (active auf true setzen).

Fazit

  • Verständnis der grundlegenden Konzepte in Laravel.
  • Gästebuch umfasst viele wichtige Webentwicklungsaufgaben.

Weitere Schritte

  • Feedback und weitere Tutorial Wünsche in die Kommentare schreiben.
  • Kanal abonnieren und Video liken.