4 ms·
With a dictionary (array in PHP) you lose strict typing and it's possible for the person constructing it to make a typo and it won't cause an error, the called
by raziel2p 6y ago
With a dictionary (array in PHP) you lose strict typing and it's possible for the person constructing it to make a typo and it won't cause an error, the called function will just think an optional argument was left out.
Writing and maintaining parameter classes is just tedious.
- wonderlg 6y agoTypescript can do it, so why not add the same feature to PHP as well? As a JS/TS developer, all I see is avoiding two characters: {}, everything else is possible in JavaScript and well-typed in TypeScript. PHP 8 save( value: 3 ) JS 1 save({ value: 3 })
- duckerude 6y agoPHP's strict typing is only enforced at runtime, and because of that, its type system is very simple, unlike Typescript's. You can enforce that a variable is an array, but not that it's an array of ints, let alone that it's an array with certain types under certain keys. Although there is external tooling that uses static analysis for such more complicated types.
- xellisx 6y agoWe really need structs in PHP. I drew up a draft, but didn't get very far with it. https://github.com/ellisgl/PHP-RFC-Struct-Data-Type https://github.com/ellisgl/PHP-RFC-Struct-Data-Type