Leistungsstarke Datenobjekte für Laravel
Dieses Paket ermöglicht die Erstellung umfangreicher Datenobjekte, die auf verschiedene Arten verwendet werden können. Mit diesem Paket müssen Sie Ihre Daten nur einmal beschreiben:
- Anstelle einer Formularanforderung können Sie auch ein Datenobjekt verwenden
- Anstelle eines API-Transformers können Sie ein Datenobjekt verwenden
- Anstatt manuell eine TypeScript-Definition zu schreiben, können Sie ... ein Datenobjekt verwenden
Ein laravel-data
spezifisches Objekt ist einfach ein reguläres PHP-Objekt, das sich von Data
aus erstreckt:
use Spatie LaravelData Data ;
class SongData extends Data
{
public function __construct (
public string $ title ,
public string $ artist ,
) {
}
}
Durch die Erweiterung von Data
ermöglichen Sie viele neue Funktionen wie:
- Datenobjekte automatisch in Ressourcen umwandeln (wie die Laravel-API-Ressourcen)
- Transformieren Sie nur die angeforderten Teile von Datenobjekten mit Lazy-Eigenschaften
- Automatisches Erstellen von Datenobjekten aus Anforderungsdaten und deren Validierung
- Validierungsregeln für Eigenschaften innerhalb eines Datenobjekts automatisch auflösen
- Ermöglichen Sie die Erstellung eines Datenobjekts aus jedem gewünschten Typ
- Fügen Sie Unterstützung für die automatische Validierung von Datenobjekten beim Erstellen hinzu
- Generieren Sie TypeScript-Definitionen aus Ihren Datenobjekten, die Sie im Frontend verwenden können
- Speichern Sie Datenobjekte als Eigenschaften eines Eloquent-Modells
- Und noch viel mehr ...
Warum sollten Sie dieses Paket verwenden?
- Sie können sicher sein, dass die Daten eingegeben werden, wenn sie Ihre App verlassen, und vom Frontend wieder zurückkommen, was zu deutlich weniger Fehlern führt
- Sie müssen nicht dreimal dieselben Eigenschaften schreiben (in einer Ressource, in einem Datenübertragungsobjekt und bei der Anforderungsvalidierung).
- Sie müssen viel weniger Validierungsregeln schreiben, da diese durch das Typsystem von PHP offensichtlich sind
- Sie erhalten kostenlos TypeScript-Versionen der Datenobjekte
Sind Sie ein visueller Lerntyp?
In diesem Vortrag, der bei Laracon gehalten wird, erhalten Sie eine Einführung in Laravel Data.
Unterstützen Sie uns
Wir investieren viele Ressourcen in die Erstellung erstklassiger Open-Source-Pakete. Sie können uns unterstützen, indem Sie eines unserer kostenpflichtigen Produkte kaufen.
Wir freuen uns sehr, dass Sie uns eine Postkarte aus Ihrer Heimatstadt schicken und erwähnen, welches unserer Pakete Sie verwenden. Unsere Adresse finden Sie auf unserer Kontaktseite. Wir veröffentlichen alle erhaltenen Postkarten auf unserer virtuellen Postkartenwand.
Dokumentation
Die vollständige Dokumentation finden Sie auf der speziellen Dokumentationsseite.
Testen
Änderungsprotokoll
Weitere Informationen zu den letzten Änderungen finden Sie im CHANGELOG.
Mitwirken
Weitere Informationen finden Sie unter BEITRAGEN.
Sicherheitslücken
Bitte lesen Sie unsere Sicherheitsrichtlinie zum Melden von Sicherheitslücken.
Credits
- Ruben Van Assche
- Aidan Casey (Validierungsattribute)
- Alle Mitwirkenden
Lizenz
Die MIT-Lizenz (MIT). Weitere Informationen finden Sie in der Lizenzdatei.