Comme chaque semaine, l’équipe de Laravel nous offre une nouvelle version de notre framework préféré, cette semaine on découvre la 6.13.
Voyons tout de suite ce que cette nouvelle version a dans le ventre. !
Les ajouts de Laravel 6.13
Ajout d’une option –api à la commande make:model
L’ajout de cette option va permettre des choses intéressantes. Suis moi !
Elle va par exemple te permettre de générer un controller d’API pour un model en même temps que tu créeras le modèle :
php artisan make:model Order --api
Tu pourras aussi créer une factory, un seeder, une migration, une ressource et aussi un controller d’API dans la même commande. Dingue !!
php artisan make:model Order --all --api
Enfin tu pourras aussi générer un controlleur avec toutes ses ressources et également le controller d’API avec la commande suivante :
php artisan make:model Order --resource --api
Ajout d’une méthode PendingResourceRegistration::shallow()
Parfois, il est nécessaire d’avoir des resources imbriquées. Par exemple une ressource photo peut avoir de multiples commentaires.
Grâce à cette nouvelle méthode shallow, plutôt que d’avoir une forme de répétition comme ci-dessous :
Route::resource('photos', 'PhotoController')->only(['index', 'create', 'store']);
Route::resource('comments', 'CommentController')->only(['show', 'edit', 'update', 'destroy']);
tu pourras plus élégamment utiliser la syntaxe suivante :
Route::resource('photos.comments', 'CommentController')->shallow();
Cette syntaxe permettra de générer le tableau de route suivant :

Laravel 6.13 : Formatage autorisé d’un attribut implicite à l’aide d’une closure
Ajout d’une méthode setImplicitAttributesFormatter
au validateur qui permet à l’instance d’afficher en sortie :
age at line 1 must be an integer
au lieu de
0.age must be an integer
validator(
[['age' => 'thirty']],
['*.age' => 'integer']
)->setImplicitAttributesFormatter(function ($attribute) {
[$line, $attribute] = explode('.', $attribute);
return sprintf('%s at line %d', $attribute, $line + 1);
})->validate();
(#31246)
Ajout d’une méthode FileSystem::ensureDirectoryExists()
Comme son nom peut te le faire penser cette méthode va simplement permettre de vérifier l’existence d’un répertoire.
(8a8eed4)
Ajout de la prise en charge de la méthode Storage::url() pour le pilote Ftp
Cette méthode va te permettre de générer une url pour les fichiers qui auront étés stockés sur le disque ftp
en utilisant la méthode Storage::url()
. Cela fonctionnera de la même façon que pour le disk local
ou s3
.
Les bugs fixés par Laravel 6.13
4 bugs ont étés corrigés par cette nouvelle version :
- Fixed laravel migrations when migrating to sql server (dropColumn with default value) (#31229)
- Fixed
handleBeginTransactionException()
method calling pdo property instead of getPdo() method (#31233) - Fixed channel names when broadcasting via redis (#31261)
- Replace asterisks before validation (#31257)
Le changement apporté par cette version
Reset timeout handler after worker loop (#31198)
On se dit à la semaine prochaine ?
Allez on se donne rendez vous mardi prochain, si tout va bien pour une éventuelle nouvelle version, may be la 6.14 😉
D’ici là, tu peux apprendre comment installer Laravel en moins de 5 minutes, prendre en main Laragon et comprendre pourquoi il est indispensable ou encore découvrir les apports de Laravel 6 qui est je te le rappelle la nouvelle LTS.
Allez, à plus !