Laravel est l’un des frameworks PHP les plus populaires depuis de nombreuses années. Il est élégant, évolutif, est devenu l’un des frameworks de facto pour les développeurs et les entreprises travaillant avec PHP. Maintenant, Laravel 9 est en route avec une tonne de nouvelles fonctionnalités.
Nouvelles fonctionnalités de Laravel 9
Maintenant, explorons la liste des fonctionnalités et améliorations auxquelles vous devriez vous attendre dans la prochaine version majeure de Laravel.
Exigence PHP minimale
Tout d’abord, et surtout, Laravel 9 nécessite les derniers PHP 8 et PHPUnit 8 pour les tests. C’est parce que Laravel 9 utilisera la dernière version de Symfony v6.0, qui nécessite également PHP 8.
PHP 8 est livré avec des améliorations et des fonctionnalités significatives, de la compilation JIT à la promotion des propriétés du constructeur.
Migration de stub anonyme
Laravel définit pour faire de la migration de stub anonyme le comportement par défaut lorsque vous exécutez la commande de migration populaire :
php artisan make:migration
La fonctionnalité de migration de stub anonyme a été publiée pour la première fois dans Laravel 8.37 pour résoudre le problème est plusieurs migrations avec le même nom de classe peuvent causer des problèmes lorsque vous essayez de recréer la base de données à partir de zéro. La nouvelle fonctionnalité de migration de stub élimine les collisions de noms de classe de migration.
À partir de Laravel 8.37, le framework prend désormais en charge les fichiers de migration de classe anonymes, et dans Laravel 9, ce sera le comportement par défaut.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up()
{
Schema::table('people', function (Blueprint $table)
{
$table->string('first_name')->nullable();
});
}
};
Nouvelle interface du constructeur de requêtes
Avec le nouveau Laravel 9, l’indication de type est très fiable pour la refactorisation, l’analyse statique et la complétion de code dans leurs IDE . Cela est dû au manque d’interface partagée ou d’héritage entre Query\Builder, Eloquent\Builder et Eloquent\Relation. Néanmoins, avec Laravel 9, les développeurs peuvent désormais profiter de la nouvelle interface du constructeur de requêtes pour l’indication de type, la refactorisation et l’analyse statique.
<?php
return Model::query()
->whereNotExists(function($query) {
})
->whereHas('relation', function($query) {
})
->with('relation', function($query) {
});
Cette version a ajouté la nouvelle interface Illuminate\Contracts\Database\QueryBuilder
, ainsi que le trait Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder
qui implémentera l’interface à la place de la méthode magique __call
.
Fonctions de chaîne PHP 8
Étant donné que Laravel 9 cible PHP 8, Laravel a fusionné cette PR, suggérant d’utiliser les dernières fonctions de chaîne PHP 8.
Ces fonctions incluent l’utilisation de str_contains()
, str_starts_with()
, et str_ends_with()
en interne dans la classe \Illuminate\Support\Str
.
Pour installer Laravel 9 à l’aide de composer, exécutez la commande suivante :
composer create-project --prefer-dist laravel/laravel laravel-9-dev dev-develop
La deuxième méthode consiste à utiliser la CLI globale de Laravel pour créer un nouveau projet Laravel et à choisir de créer votre nouveau projet à partir de la branche dev.
Saisissez la commande suivante pour créer un nouveau projet Laravel 9 :
laravel new laravel-9-dev --dev
Maintenant que vous avez installé Laravel 9, vous pouvez entrer dans le nouveau répertoire (laravel-dev) et exécuter la commande artisan pour vérifier la version :
cd laravel-9-dev
php artisan --version
Cet Article est utile ? Votez