-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VOTE] Use & Enforce strict type declaration #36
Comments
Ok sur le principe, mais ça fait un gros changement et je me demande ce que ça va donner en pratique. Par exemple, je suis clairement convaincu que c'est bien côté domaine, mais il y a des endroits où la conversion automatique peut-être confortable. Par exemple quand on instancie un Model à partir de données récupérées via PDO. Je ne vois pas trop comment on ferait techniquement, mais peut-être qu'une bascule en plusieurs étapes permettrait de conforter ce choix. |
En théorie tu n'auras ni plus ni moins à fixer ce que l'on trouve dans la baseline de PHPStan. |
Je suis ok aussi . |
Oups 🥁 |
Sauf erreur de ma part, DBAL te sort les résultats en string, peu importe leurs types. Du coup, pour que la conversion des données sorties de la BDD en Modèles de lecture marche avec
Je viens de tester sur Catalog. Faut caster un peu partout. C'est faisable, je ne dis pas le contraire, mais je +1 la possibilité d'aller module par module / étape par étape. |
Summary
Lets quote the php.net documentation
Here i propose to enforce
declare(strict_types=1);
declaration for every php file under phpcs inspection in projects.Details about type coercision are explained in the php doc linked below and article at the end of this description.
But here a short example about changes
Code Example
Migration
The PHPCS rule is shipped with an autofix code that inject the declaration in files (tested and thats ok).
Beside that, many PHPUnit test are broken after the upgrade because of non strict typing, and it will need to spend some time to review and fix (any volunteers ? 😆 )
I'm convinced it worse the try because strict type may help us to write more consistent code and catch bugs early.
It's also a good dropin replacement for static analyzed types by PHPStan.
Rule declaration
Resources
Article where the code example came from: https://barryvanveen.nl/blog/50-enforce-strict-type-checking-in-php-with-php-code-sniffer
The rule documentation: https://github.com/slevomat/coding-standard#slevomatcodingstandardtypehintsdeclarestricttypes-
The text was updated successfully, but these errors were encountered: