La différence entre les versions de Laravel 5.2 et 5.6 : 1. Tous les échafaudages frontaux et les instances de composants Vue de la version 5.6 sont tous basés sur "Bootstrap 4" et sont équipés par défaut de la version stable "Bootstrap 4", tandis que le Les instances de la version 5.2 ne sont pas basées sur "Bootstrap 4" "Et ce n'est pas la version par défaut ; le fichier de configuration du journal des versions 2 et 5.6 est "config/logging.php", et le fichier de configuration du journal de la version 5.2 est "config/ app.php".
L'environnement d'exploitation de cet article : système Windows 10, version Laravel5.6&&laravel5.2, ordinateur Dell G3.
La version 5.2 ajoute
six mois de correction de bogues et un an de prise en charge des correctifs de sécurité
1. Prise en charge des pilotes d'authentification multiple
2.
3. Portée globale Eloquent simplifiée
4. Échafaudage d'authentification facultatif
5. ,
2. Planification des tâches sur une seule machine
3. Optimisation de la sérialisation du modèle
4. Optimisation du format de date éloquent5. Classe de canal de diffusion
7. .Alias du composant Blade
9.Prise en charge du hachage de mot de passe Argon2
9.Introduire le package d'extension Collision
Tout le code d'échafaudage frontal a été mis à niveau vers Bootstrap 4 et les composants Symfony utilisés par Laravel sous-jacent ont été mis à niveau vers Symfony ~ Version 4.0.
Les différences spécifiques sont les suivantes :
Journaux améliorésLa fonctionnalité la plus importante de la version Laravel 5.6 est l'amélioration de la fonction de journalisation. Pour ceux qui découvrent Laravel, veuillez noter que le fichier de configuration de journalisation dans Laravel 5.6 est passé de config/app.php à config/logging.php.
Vous pouvez configurer la pile pour envoyer des journaux à différents processeurs. Par exemple, vous souhaiterez peut-être envoyer les journaux de débogage au journal système et les journaux d’erreurs à Slack.
Si vous exécutez le planificateur de tâches sur plusieurs serveurs, les tâches que vous envoyez seront exécutées sur chaque serveur. Grâce à la méthode onOneServer(), vous pouvez spécifier sur quel serveur la tâche est exécutée. $schedule->command('report:generate')
->fridays()
->at('17:00')
->onOneServer();
Remarque : dans la version Laravel 5.6, vous devez utiliser le pilote de cache memcached ou redis comme pilote de cache par défaut pour bénéficier des avantages de la planification des tâches sur un seul serveur.
Laravel 5.6 introduit la fonction de limite de débit dynamique, qui vous apporte plus de flexibilité et simplifie la limitation de débit pour les utilisateurs individuels :
Route::middleware('auth:api', 'throttle:rate_limit,1') ->group(function () { Route::get('/user', function () { // }); });
Dans l'exemple ci-dessus, rate_limit est le modèle AppUser (un attribut de model qui est utilisé pour déterminer le nombre de demandes autorisées dans une certaine période de temps.
Classe de canal de diffusionLa classe de canal peut désormais être utilisée dans le fichier routes/channels.php.
Laravel 5.6 fournit une nouvelle commande make:channel pour aider à générer une nouvelle classe de canal : php artisan make:channel OrderChannelEnregistrer la classe de canal dans le fichier routes/channels.php est aussi simple que ceci :
use App\Broadcasting\OrderChannel; Broadcast::channel('order.{order}', OrderChannel::class);
Générer un contrôleur d'API
Vous pouvez désormais générer un contrôleur de ressources pour une API qui ne nécessite pas de méthodes de création et d'édition. Cette méthode pratique concerne uniquement les contrôleurs de ressources qui renvoient du HTML. Ajoutez le paramètre --api à la fin de la ligne de commande pour générer un contrôleur de ressources : php artisan make:controller API/PhotoController --api
Format de date éloquentDans Laravel 5.6, vous pouvez spécifier le format d'Eloquent date et datetime respectivement. :
protected $casts = [ 'birthday' => 'date:Y-m-d', 'joined_at' => 'datetime:Y-m-d H:00', ];
Ce format est utilisé pour sérialiser des modèles en tableaux ou en données JSON.
Alias des composants de lame
Dans Laravel 5.6, vous pouvez créer des alias pour les composants de lame pour une référence facile. Par exemple, si vous enregistrez un composant lame dans le fichier resources/views/components/alert.blade.php, vous pouvez créer un alias plus court pour celui-ci à l'aide de la méthode composant() : Blade::component('components.alert ', 'alert');
Ensuite, vous pouvez référencer ce composant par alias et en sortie : @component('alert')Ceci est un composant d'alerte
@endcomponent
Hash de mot de passe Argon2
Laravel 5.6 Nouveau support de hachage pour PHP 7.2+. Vous pouvez spécifier l'algorithme de hachage utilisé par défaut dans le fichier de configuration config/hashing.php.
Méthode UUIDDeux nouvelles méthodes ont été ajoutées à la classe IlluminateSupportStr pour générer des UUID (Universal Unique Identifiers) :
// The methods return a Ramsey\Uuid\Uuid object return (string) Str::uuid(); return (string) Str::orderedUuid();
La méthode ordonnéeUuid() est utilisée pour générer un UUID commençant par un horodatage pour une indexation de base de données plus efficace. .
Collision embellit le rapport d'erreurs
Nous avons récemment développé le package Collision et l'avons utilisé comme dépendance de développement pour Laravel 5.6. Collision fournit de superbes rapports d'erreurs et une sortie vers la console. La capture d'écran est la suivante :
Bootstrap 4
Toutes les instances d'échafaudage frontal et de composants Vue sont basées sur Bootstrap 4. Nous suivons depuis Bootstrap 4 bêta et avons même créé un préréglage Bootstrap 4 Laravel. Laravel 5.6 est désormais livré par défaut avec la version stable de Bootstrap 4.
【Recommandation associée : tutoriel vidéo laravel】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!