Nouveau dans Symfony 8.1 : améliorations diverses (partie 2) (Blog Symfony)

SymfonyBlog - 15/06
Symfony 8.1 vous permet de créer des sémaphores sur n'importe quel backend de verrouillage, améliore le sélecteur CSS, résout les formes d'objet et inclut plusieurs autres améliorations.
🎉1

En plus des principales fonctionnalités annoncées dans les articles précédents de cette série, Symfony 8.1 inclut de nombreuses petites améliorations qui facilitent le travail quotidien. Cet article en met en évidence un deuxième lot.

Créer des sémaphores sur n'importe quel backend de verrouillage

Contribué par Alexander Schranz dans #59202

Le composant Sémaphore limite le nombre de processus pouvant accéder simultanément à une ressource partagée. Jusqu'à présent, son seul magasin intégré était basé sur Redis, ce qui laissait les applications utilisant d'autres backends sans option utilisable.

Symfony 8.1 ajoute unLockStorequi construit un sémaphore au-dessus du composant Lock, afin que vous puissiez réutiliser n'importe quel backend de verrouillage (base de données, système de fichiers, Redis, etc.). Un sémaphore avec une limite de N est implémenté en utilisant N verrous individuels en arrière-plan :

1 2 3 4 5 6 7 8 9 10 11utilisez Symfony\Component\Lock\LockFactory ; utilisez Symfony\Component\Lock\Store\FlockStore ; utilisez Symfony\Component\Semaphore\SemaphoreFactory ; utilisez Symfony\Component\Semaphore\Store\LockStore ; $lockFactory = nouveau LockFactory(nouveau FlockStore()); $semaphoreFactory = new SemaphoreFactory(new LockStore($lockFactory)); // autorise au plus 3 processus à conserver ce sémaphore en même temps $semaphore = $semaphoreFactory->createSemaphore('thumbnail-generation', 3); $sémaphore->acquérir();

Lorsque vous utilisez FrameworkBundle, pointez le sémaphore vers un verrou configuré avec le nouveauverrouillage://DSN :

1 2 3 4 5 6 7 8# config/packages/semaphore.yaml framework : lock : par défaut : 'flock' redis : '%env(REDIS_DSN)%' sémaphore : par défaut : 'lock://' # utilise le verrou "par défaut" autre : 'lock://redis' # utilise le verrou "redis"

Collecter les erreurs d'attributs supplémentaires lors de la désérialisation

Proposé par NorthBlue333 dans #46654

Lors de la désérialisation d'une charge utile entrante dans un objet, vous pouvez transmettre leCOLLECT_DENORMALIZATI...
[Courte citation de 8% de l'article original]

Loading...