phpstan.org

Dev back

PHPStan 1.10 Comes With a Lie Detector

La version 1.10 de PHPStan introduit un nouvel outil de validation des types dans les annotations PHPDoc, permettant de détecter les incohérences dans les déclarations de type. Cela vise à encourager les développeurs à éviter l'utilisation des annotations inline pour favoriser des pratiques de codage plus sûres. PHPStan maintenant met en évidence les cas de types non gérés dans les énumérations et améliore la signalisation des conditions toujours vraies. Des conseils contextuels ont également été ajoutés pour aider les développeurs à comprendre et résoudre les problèmes de type.

Dev front

Website Improvement: Social Post Preview Image

L'article présente une amélioration du site de PHPStan en ajoutant une image de prévisualisation pour les publications sur les réseaux sociaux. L'auteur explique comment il a utilisé des technologies modernes comme Eleventy et TailwindCSS pour générer statiquement le site, ainsi que des outils comme Parcel pour le bundling. Il décrit également le processus de capture d'écran d'une image créée avec TailwindCSS et son intégration dans le site pour améliorer la présentation lors du partage d'articles sur Twitter.

Dev back

Solving PHPStan error "Access to an undefined property"

L'article présente des méthodes pour résoudre l'erreur courante de PHPStan "Accès à une propriété indéfinie". Il aborde des corrections de noms, l'affinage des types d'accès, la déclaration de propriétés, et des techniques spécifiques pour gérer les propriétés dynamiques dans les versions récentes de PHP. Des solutions supplémentaires incluent l'utilisation d'extensions spécifiques à des frameworks comme Laravel et la rédaction d'extensions personnalisées pour PHPStan.

Dev back

Using RuleErrorBuilder to enrich reported errors in custom rules

L'article explique comment utiliser RuleErrorBuilder pour enrichir les erreurs signalées lors de la création de règles personnalisées dans PHPStan. Il décrit les fonctionnalités de RuleErrorBuilder, y compris la possibilité de définir des lignes de fichier différentes, d'ajouter des identifiants d'erreur, et de joindre des métadonnées aux erreurs. Il est recommandé de migrer les chaînes de caractères simples vers RuleErrorBuilder afin de profiter des nouvelles fonctionnalités de PHPStan 1.11.

Dev back

A guide to call-site generic variance

Cet article présente la variance générique au niveau de l'appel, une fonctionnalité de PHPStan qui permet de gérer la variance des types de manière plus flexible sans perturber la déclaration des interfaces. Il explique la variance déclarative, ainsi que les notions de covariance et contravariance, et présente des projections de type, y compris les projections d'étoiles, qui permettent de travailler avec des collections de types variés.

Dev back

Enhancements in Handling Parameters Passed by Reference in PHPStan 1.10.60

La version 1.10.60 de PHPStan introduit des améliorations dans la gestion des paramètres passés par référence. Elle permet de vérifier le type des arguments passés par référence, ce qui améliore la validation des types et la prise en charge des annotations PHPDoc. Cela vise à renforcer la sécurité et la robustesse du code analysé par PHPStan, tout en préservant la compatibilité avec les versions antérieures. Ces changements seront également intégrés dans la prochaine version majeure, PHPStan 2.0.

Dev back

Debugging PHPStan Performance: Identify Slow Files

Cet article traite des méthodes pour identifier les fichiers qui ralentissent l'analyse de PHPStan dans un projet. Il suggère d'activer le mode Bleeding Edge pour améliorer la vitesse et d'utiliser des options en ligne de commande pour afficher le temps et la mémoire consommée par chaque fichier. Les fichiers les plus lents peuvent ensuite être analysés pour déterminer s'il est judicieux de les exclure de l'analyse ou de signaler des bogues pour améliorer les performances de PHPStan.

Dev back

PHPStan Reports Different Errors Locally & in CI. What Should I Do?

Cet article fournit des étapes à suivre pour résoudre les différences de rapports d'erreurs de PHPStan entre un environnement local et un système d'intégration continue (CI). Il aborde des vérifications essentielles comme la version de PHP utilisée, l'installation de PHPStan via Composer et la nécessité de s'assurer que la même configuration est utilisée dans les deux environnements. Des conseils pratiques sont donnés pour éviter les conflits de définitions de classes et pour corriger les problèmes d'autoloading. En cas de persistance des problèmes, il est recommandé d'ouvrir une discussion sur GitHub pour obtenir de l'aide.

Dev back

PHPStan 1.12: Road to PHPStan 2.0

La version 1.12 de PHPStan, un outil d'analyse statique pour PHP, se dirige vers la version 2.0 avec de nouvelles fonctionnalités, notamment une inférence de type précise pour les expressions régulières et des améliorations de vérifications sur les types PHPDoc. Ces ajouts, disponibles via le réglage 'Bleeding Edge', sont conçus pour préparer les utilisateurs à la future version tout en corrigeant et en affinant les erreurs dans les codebases actuelles.