Je souhaite mettre à niveau mon projet Laravel 9 existant vers la version 10. L’objectif est que non seulement les fichiers des fournisseurs puissent être mis à jour via Composer. De plus, je souhaite que les modifications apportées au code de mon projet soient reflétées en dehors du dossier fournisseur.
J'ai mis à jour mon projet en suivant le guide de mise à niveau de la documentation Laravel.
Voici le fichier modifié.
Par exemple, mon app/Console/Kernel.php
devrait être remplacé par
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // $schedule->command('inspire')->hourly(); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }
à
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. */ protected function schedule(Schedule $schedule): void { // $schedule->command('inspire')->hourly(); } /** * Register the commands for the application. */ protected function commands(): void { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }
La mise à jour automatique de ces « exemples » de fichiers peut ne pas être possible du tout automatiquement, car les utilisateurs peuvent les modifier dans leurs projets, c'est pourquoi ils ne font pas partie du fournisseur.
La meilleure option pour mettre à jour la syntaxe liée à PHP (telle que les astuces de type mentionnées) serait probablement quelque chose comme PHP-CS-Fixer avec les règles appropriées, mais votre exemple de fonction ne peut pas l'utiliser car cela nécessite l'ancienne méthode de définition pour transmettre PHPDoc. type de retour.
Si vous avez modifié ces fichiers, vous pouvez copier manuellement les modifications du référentiel Laravel et les adapter à votre code.
Les modifications apportées au nouveau framework d'application de Laravel peuvent être consultées sur Github via son outil de comparaison : https://github.com/laravel/laravel/compare/9.x...10.x
(Vous pouvez également le faire localement en utilisant un client GUI Git ou la ligne de commande Git .)
Ces modifications peuvent être converties en
.patch
fichiers, que vous pourrez ensuite appliquer à vos applications. Github propose une fois de plus un moyen assez simple de le faire https://github.com/laravel/laravel/comparison/9.x...10.x.patch .Après avoir enregistré le fichier .patch localement, vous pouvez utiliser
git apply <path-to-patch-file>
pour l'appliquer à votre référentiel. Dans la plupart des cas, cela devrait fonctionner parfaitement.Pour être clair, cela ne remplace pas le suivi https://laravel.com/docs/10.x/upgrade, car il apportera uniquement les ajustements nécessaires au cadre d'application par défaut ; façon Mettez à jour le code que vous avez écrit dans Laravel.