Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Cover Titel Impressum Widmung Inhalt Vorwort 1 Warum Laravel?
Warum ein Framework verwenden? »Ich baue es einfach selbst« Konsistenz und Flexibilität Eine kurze Geschichte der Web- und PHP-Frameworks Ruby on Rails Eine Welle von PHP-Frameworks Das Gute und das Schlechte an CodeIgniter Laravel 1, 2 und 3 Laravel 4 Laravel 5 Laravel 6 Was ist so besonders an Laravel? Die Philosophie von Laravel Wie sich Laravel um die Zufriedenheit des Entwicklers verdient macht Die Laravel-Community Wie es funktioniert Warum also Laravel?
2 Eine Laravel-Entwicklungsumgebung einrichten
Systemanforderungen Composer Lokale Entwicklungsumgebungen Laravel Valet Laravel Homestead Ein neues Laravel-Projekt erstellen Installation von Laravel mit dem Laravel-Installationsprogramm Installation von Laravel mit dem create-project-Feature von Composer Das Helfer-Paket installieren Lambo: »laravel new« mit Düsenantrieb Die Verzeichnisstruktur von Laravel Die Ordner Die Dateien Konfiguration Die .env-Datei Achtung, fertig, los! Testen TL;DR
3 Routing und Controller
Eine kurze Einführung in MVC, HTTP-Verben und REST Was ist MVC? Die HTTP-Verben Was ist REST? Routendefinitionen Routing-Verben Routen-Handling Routenparameter Benannte Routen Routen gruppieren Middleware Pfad-Präfixe Fallback-Routen Subdomain-Routing Namensraum-Präfixe Namenspräfixe Signierte Routen Eine Route signieren Signierte Links zulassen Views Einfache Routen direkt mit Route::view() zurückgeben Verwendung von View Composern, um Variablen für alle Views bereitzustellen Controller Benutzereingaben Abhängigkeiten in Controller einfügen Ressourcen-Controller API-Ressourcen-Controller Controller für eine einzelne Aktion Routen-Modell-Bindung Implizite Routen-Modell-Bindung Benutzerdefinierte Routen-Modell-Bindung Routen-Caching Methoden-Spoofing für Formulare HTTP-Verben in Laravel HTTP-Methoden-Spoofing CSRF-Schutz Umleitungen redirect()->to() redirect()->route() redirect()->back() Andere Umleitungsmethoden redirect()->with() Einen Request abbrechen Gebräuchliche Response-Typen response()->make() response()->json() und ->jsonp() response()->download(), ->streamDownload() und ->file() Testen TL;DR
4 Vorlagen erstellen mit Blade
Daten ausgeben Kontrollstrukturen Bedingungen Schleifen Vorlagen-Vererbung Definieren von Abschnitten mit @section/@show und @yield Einbinden von Teilansichten Verwendung von Stacks Verwendung von Komponenten und Slots View Composer und Service Injection Daten mit View Composern an Views binden Service Injection Benutzerdefinierte Blade-Direktiven Parameter in benutzerdefinierten Blade-Direktiven Beispiel: Verwendung benutzerdefinierter Blade-Direktiven für eine mandantenfähige Anwendung Einfachere benutzerdefinierte Direktiven für »if«-Anweisungen Testen TL;DR
5 Datenbanken und Eloquent
Konfiguration Datenbankverbindungen Weitere Optionen zur Konfiguration von Datenbanken Migrationen Migrationen definieren Migrationen ausführen Seeding Eine Seeder-Klasse anlegen Modellfabriken Der Query Builder Grundlegender Einsatz der DB-Fassade Direktes SQL Verkettung mit dem Query Builder Transaktionen Einführung in Eloquent Erstellen und Definieren von Eloquent-Modellen Abrufen von Daten mit Eloquent Inserts und Updates mit Eloquent Löschen mit Eloquent Geltungsbereiche Anpassen von Feldinteraktionen durch Akzessoren, Mutatoren und Attribut-Casting Eloquent-Collections Serialisierung mit Eloquent Beziehungen mit Eloquent Aktualisierung von Zeitstempeln durch verknüpfte Datensätze Ereignisse in Eloquent Testen TL;DR
6 Frontend-Komponenten
Laravel Mix Verzeichnisstruktur von Mix Mix ausführen Was bietet Mix? Frontend-Frameworks und Auth-Scaffolding laravel/ui Frontend-Presets Auth-Scaffolding Paginierung Paginieren von Datenbank-Ergebnissen Paginatoren manuell erstellen Message Bags Benannte Error Bags Hilfsfunktionen für Strings, Pluralisierung und Lokalisierung Zeichenketten-Helfer und Pluralisierung Lokalisierung Testen Message und Error Bags testen Übersetzung und Lokalisierung TL;DR
7 Benutzereingaben erfassen und verarbeiten
Injizieren eines Anforderungsobjekts $request->all() $request->except() und $request->only() $request->has() $request->input() $request->method() und ->isMethod() Benutzereingaben in Array-Form JSON-Input (und $request->json()) Routendaten Daten aus dem Request-Objekt extrahieren Daten aus Routenparametern Hochgeladene Dateien Validierung validate() auf das Anforderungsobjekt anwenden Manuelle Validierung Benutzerdefinierte Regeln Fehlermeldungen der Validierung anzeigen Form Requests Erstellen eines Form Requests Verwendung eines Form Requests Eloquent-Modelle und Massenzuweisung {{ und {!! Testen TL;DR
8 Artisan und Tinker
Eine Einführung in Artisan Grundlegende Artisan-Befehle Optionen Befehle nach Gruppen Benutzerdefinierte Artisan-Befehle Ein Beispielbefehl Argumente und Optionen Benutzereingaben verwenden Eingabeaufforderungen Ausgaben Schreiben von Closure-basierten Befehlen Aufruf von Artisan-Befehlen in normalem Anwendungscode Tinker Laravels Dump-Server Testen TL;DR
9 Authentifizierung und Autorisierung
User-Modell und -Migration Verwendung des globalen auth()-Helfers und der Auth-Fassade Die Auth-Controller RegisterController LoginController ResetPasswordController ForgotPasswordController VerificationController ConfirmPasswordController Auth::routes() Das Auth-Gerüst »Remember Me«: Die Erinnerungsfunktion Manuelle Authentifizierung von Benutzern Manuelles Abmelden eines Benutzers Invalidierung von Sitzungen auf anderen Geräten Auth-Middleware E-Mail-Verifizierung Blade-Direktiven zur Authentifizierung Guards Ändern des Standard-Wächters Verwendung anderer Guards ohne Änderung des Standards Hinzufügen eines neuen Guards Closure Request Guards Erstellen eines benutzerdefinierter Providers Benutzerdefinierte Provider für nicht-relationale Datenbanken Authentifizierungs-Ereignisse Autorisierung (ACL) und Rollen Berechtigungsregeln definieren Die Gate-Fassade (und wie man Gate injiziert) Gate für Ressourcen Die Authorize-Middleware Autorisierung per Controller Überprüfen einer Instanz des User-Modells Überprüfungen mit Blade Abfangen von Prüfungen Richtlinien Testen TL;DR
10 Request, Response und Middleware
Der Lebenszyklus des Request-Objekts Bootstrapping der Anwendung Service Provider Das Request-Objekt Zugriff auf das Request-Objekt in Laravel Informationen aus einem Request erhalten Das Response-Objekt Response-Objekte in Controllern erzeugen und verwenden Spezialisierte Antworttypen Laravel und Middleware Eine Einführung in Middleware Benutzerdefinierte Middleware erstellen Middleware binden Parameter an die Middleware übergeben Vertrauenswürdige Proxys Testen TL;DR
11 Der Container
Eine kurze Einführung in die Injektion von Abhängigkeiten Abhängigkeitsinjektion und Laravel Der globale Helfer app() Wie ist der Container verdrahtet? Klassen an den Container binden Bindung mittels Closure Bindung von Singletons, Aliasen und Instanzen Binden einer konkreten Instanz an ein Interface Kontextuelle Bindung Konstruktor-Injektion in Laravel-Framework-Dateien Methoden-Injektion Fassaden und Container Wie Fassaden funktionieren Echtzeit-Fassaden Service Provider Testen TL;DR
12 Testen
Grundlagen des Testens Tests benennen Die Testumgebung Vier spezielle Traits beim Testen RefreshDatabase WithoutMiddleware DatabaseMigrations DatabaseTransactions Einfache Unit-Tests Anwendungstests: So funktionieren sie Die TestCase-Klasse HTTP-Tests Testen von Standardseiten mit $this->get() und anderen HTTP-Aufrufen Testen von JSON-APIs mit $this->getJson() und anderen JSON-HTTP-Aufrufen Behauptungen bezüglich $response Authentifizierung von Antworten Weitere Anpassungen für HTTP-Tests Behandlung von Ausnahmen in Anwendungstests Datenbank-Tests Verwendung von Modellfabriken Seeding in Tests Testen anderer Laravel-Features Ereignisse faken Bus- und Warteschlangen-Fakes Mails faken Benachrichtigungen faken Dateioperationen faken Mocking Eine kurze Einführung ins Mocken Eine kurze Einführung in Mockery Andere Fassaden faken Artisan-Befehle testen Behauptungen bezüglich der Artisan-Befehlssyntax Browser-Tests Auswahl des Werkzeugs Testen mit Dusk TL;DR
13 APIs schreiben
Die Grundlagen REST-ähnlicher JSON-APIs Controller-Organisation und JSON-Antworten Header lesen und senden Response-Header senden Request-Header lesen Paginierung Sortieren und Filtern Sortieren der API-Ergebnisse Filtern der API-Ergebnisse Ergebnisse transformieren Schreiben eines eigenen Transformators Verschachtelung und Beziehungen mit benutzerdefinierten Transformatoren API-Ressourcen Erstellen einer Ressourcen-Klasse Ressourcen-Collections Verschachtelte Beziehungen Paginierung in API-Ressourcen verwenden Bedingtes Anwenden von Attributen Weitere Anpassungen für API-Ressourcen API-Authentifizierung mit Laravel Passport Eine kurze Einführung in OAuth 2.0 Passport installieren Die Passport-API Passports Grant-Typen Clients und Tokens mit der Passport-API und Vue-Komponenten verwalten Passport-Scopes Bereitstellen von Passport API-Token-Authentifizierung Benutzerdefinierte 404-Antworten Triggern der Fallback-Route Testen Passport testen TL;DR
14 Daten speichern und abrufen
Lokale und Cloud-basierte Datei-Manager Konfiguration des Dateizugriffs Verwendung der Storage-Fassade Zusätzliche Flysystem-Provider hinzufügen Grundlagen von Datei-Uploads und -Handhabung Einfache Datei-Downloads Sessions Zugriff auf die Session Methoden, die für Session-Instanzen verfügbar sind Flash-Sitzungsspeicher Cache Zugriff auf den Cache Methoden, die für Cache-Instanzen verfügbar sind Cookies Cookies in Laravel Auf Cookies zugreifen Logging Wann und warum man Logs verwenden sollte In Logs schreiben Log-Kanäle Volltextsuche mit Laravel Scout Scout installieren Ein Modell für die Indexierung kennzeichnen Einen Index durchsuchen Warteschlangen und Scout Operationen ohne Indizierung durchführen Bedingt ausgeführte Indizierung Manuelles Auslösen der Indizierung im Code Manuelles Auslösen der Indizierung über die Kommandozeile Testen Dateien speichern Session Cache Cookies Logging Scout TL;DR
15 E-Mail und Benachrichtigungen
E-Mail »Klassische« E-Mail E-Mails als »Mailable« E-Mail-Vorlagen In build() verfügbare Methoden Anhänge und Inline-Bilder Markdown-Mailables Darstellung von Mailables im Browser Warteschlangen Lokale Entwicklung Benachrichtigungen Definieren der via()-Methode für die zu benachrichtigenden Empfänger Senden von Benachrichtigungen Benachrichtigungen in Warteschlangen stellen Laravels integrierte Benachrichtigungstypen Testen E-Mail Benachrichtigungen TL;DR
16 Queues, Jobs, Events, Broadcasting und der Scheduler
Warteschlangen Warum Warteschlangen? Grundlegende Warteschlangen-Konfiguration Warteschlangen-Jobs Ausführen eines Queue-Workers Fehlerbehandlung Kontrolle der Warteschlange Warteschlange für andere Funktionen Laravel Horizon Ereignisse Ein Ereignis auslösen Nach einem Ereignis »lauschen« Broadcasting von Ereignissen über WebSockets und Laravel Echo Konfiguration und Einrichtung Übertragung eines Ereignisses Empfang der Nachricht Fortgeschrittene Broadcasting-Werkzeuge Laravel Echo (die JavaScript-Seite) Scheduler Verfügbare Aufgabentypen Verfügbare Zeitangaben Definieren von Zeitzonen für geplante Befehle Blockierung und Überlappung Output von Aufgaben handhaben Aufgaben-Hooks Testen TL;DR
17 Helfer und Collections
Helfer Arrays Zeichenketten Anwendungspfade URLs Verschiedenes Collections Die Grundlagen Ein paar Methoden TL;DR
18 Das Laravel-Ökosystem
Tools, die in diesem Buch behandelt werden Valet Homestead Der Laravel-Installer Mix Dusk Passport Horizon Echo Tools, die in diesem Buch nicht behandelt werden Forge Envoyer Cashier Socialite Nova Spark Lumen Envoy Telescope Vapor Weitere Ressourcen
Fußnoten Glossar Index Über den Autor Kolophon
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion