Laravel est un puissant cadre de développement Web PHP qui fournit des mécanismes tels que Eloquent, Présentateur et Cast à la couche modèle pour améliorer l'efficacité du développement. Parmi eux, la fonction CAST est particulièrement pratique, qui peut convertir automatiquement les champs de la base de données en un type PHP spécifié, ce qui rend le traitement des données plus pratique et le nettoyant de code.
Cet article prend Laravel 5.6 comme exemple. Par défaut, vous avez déjà certaines connaissances de base de Laravel, comme le modèle, la migration et l'utilisation des commandes artisanales.
Nous créons d'abord le modèle et ses ressources connexes via la commande artisan:
PHP Artisan Make: Modèle post -a
Cette commande génère un modèle nommé Post et crée automatiquement ses fichiers de migration, contrôleurs et vues de ressources correspondants, jetant les bases des opérations ultérieures.
La propriété $ CASTS fournie par Laravel nous permet de convertir facilement les propriétés du modèle en types de données spécifiques. Ajouter ce qui suit au modèle de poste:
protégé $ casts = [ 'publié' => 'booléen', ]]
Grâce à la définition ci-dessus, Laravel le convertira automatiquement en booléen lorsque le modèle accède à la propriété publiée .
Vous pouvez utiliser l'outil Tinker d'Artisan pour la vérification:
$ post = nouveau message; $ post-> publié = 1; $ post-> toArray ();
Dans le résultat de sortie, le champ publié sera affiché comme vrai , vérifiant l'effet de la conversion de type.
En plus d'utiliser des types intégrés, Laravel nous permet également de créer une logique de transformation personnalisée. Par exemple, nous voulons convertir automatiquement un horodat Unix en un objet DateTime:
Utiliser du carbone \ carbone; protégé $ casts = [ 'publié_at' => 'datetime', ]] fonction publique setPublishedAtAtTribute ($ value) { $ this-> attributs ['publied_at'] = carbone :: createFromtimeStamp ($ value); }
De cette façon, même si le horodatage entier est obtenu à partir de l'interface externe, il peut être automatiquement converti en un objet de date reconnaissable à Laravel, améliorant considérablement la flexibilité du traitement des données.
La fonction de distribution de Laravel simplifie considérablement le processus de conversion du type de données. Qu'il s'agisse d'un booléen, d'un entier, d'une date ou de types personnalisés plus complexes, vous pouvez le convertir automatiquement en configurant $ casts . Cela réduit non seulement le code en double, mais améliore également la maintenabilité du modèle.
La maîtrise de l'utilisation de la distribution aidera les développeurs à traiter les données plus efficacement, à faire moins d'erreurs, à écrire rapidement et à apporter des changements réguliers pendant le processus de développement.