Laravel ist ein leistungsstarker PHP -Webentwicklungsrahmen, der Mechanismen wie eloquent, Moderator und Guss in der Modellschicht bietet, um die Entwicklungseffizienz zu verbessern. Unter diesen ist die Gussfunktion besonders praktisch, was Felder in der Datenbank automatisch in einen bestimmten PHP -Typ umwandeln kann, wodurch die Datenverarbeitung bequemer und Codereiniger gestaltet wird.
Dieser Artikel nimmt Laravel 5.6 als Beispiel. Standardmäßig verfügen Sie über ein bestimmtes Grundkenntnis von Laravel wie Modell, Migration und die Verwendung von handwerklichen Befehlen.
Wir erstellen zuerst das Modell und seine damit verbundenen Ressourcen über den Handwerksanweisungsbefehl:
Php Artisan Make: Model Post -a
Dieser Befehl generiert ein Modell mit dem Namen Post und erstellt automatisch seine entsprechenden Migrationsdateien, Controller und Ressourcenansichten, wodurch die Grundlage für nachfolgende Vorgänge gelegt wird.
Die von Laravel bereitgestellte Eigenschaft $ casts ermöglicht es uns, die Modelleigenschaften einfach in bestimmte Datentypen umzuwandeln. Fügen Sie dem Postmodell Folgendes hinzu:
geschützte $ casts = [ 'veröffentlicht' => 'boolean', ];
Durch die obige Definition konvertiert Laravel es automatisch in einen Booleschen, wenn das Modell auf die veröffentlichte Eigenschaft zugreift.
Sie können Artisans Tinker -Tool zur Überprüfung verwenden:
$ post = neuer Beitrag; $ post-> veröffentlicht = 1; $ post-> totarray ();
Im Ausgabeergebnis wird das veröffentlichte Feld als True angezeigt, wodurch der Effekt der Typumwandlung überprüft wird.
Laravel erstellt nicht nur integrierte Typen, sondern können auch benutzerdefinierte Transformationslogik erstellen. Zum Beispiel möchten wir einen Unix -Zeitstempel automatisch in ein DateTime -Objekt konvertieren:
Verwenden Sie Kohlenstoff \ Kohlenstoff; geschützte $ casts = [ 'published_at' => 'DateTime', ]; öffentliche Funktion setPublieredatattribute ($ value) { $ this-> Attribute ['published_at'] = carbon :: createFromTimestamp ($ value); }
Auf diese Weise kann auch wenn der Ganzzahl-Zeitstempel von der externen Schnittstelle erhalten wird, automatisch in ein Laravel-Anerkennungsdatum-Objekt umgewandelt werden, was die Flexibilität der Datenverarbeitung erheblich verbessert.
Die Cast -Funktion von Laravel vereinfacht den Prozess der Datentypkonvertierung erheblich. Unabhängig davon, ob es sich um einen Booleschen, Ganzzahl, Datum oder komplexere benutzerdefinierte Typen handelt, können Sie ihn automatisch konvertieren, indem Sie $ casts konfigurieren. Dies reduziert nicht nur den doppelten Code, sondern verbessert auch die Wartbarkeit des Modells.
Durch die Beherrschung der Nutzung von Cast können Entwickler die Daten effizienter verarbeiten, weniger Fehler vornehmen, schnell schreiben und während des Entwicklungsprozesses stetige Änderungen vornehmen.