2 ms·
Work as a PHP dev, in a PHP/JS shop. In all new work we require static typing on method parameters and defined return types. Of course, if your type is 'array'
by tim_phpdev 6y ago
Work as a PHP dev, in a PHP/JS shop.
In all new work we require static typing on method parameters and defined return types. Of course, if your type is 'array' it could be an array of anything but we also try to avoid that and use collection classes. It honestly feels a lot like Java now, without the compile step.
- isbjorn16 6y agoI do the same in Python with type hinting. It's not actual typing, but at least there are tools that can help call us on our dumbass bullshit. Edit: and by "our" dumbass bullshit, I mostly mean when we thoughtlessly return type T when we claimed we'd return type U
- nucleardog 6y agoWe do similar (strict_types, declare parameter and return types, etc), but don't go as far as the Java-style collection classes except where absolutely necessary. As a mostly-acceptable alternative, we just type hint as array and document the actual containing types in the phpdoc block and run phan for static analysis to catch any potential screwups. /** * Method for converting Foos into Bars * * @param Foo[] $foos * @return Bar[] */ function convertFoosToBars(array $foos): array { // ... } In theory this isn't perfect. In practice we haven't run into any issues yet.