@HiddenLayer555@lemmy.ml to Programmer Humor@programming.devEnglish • edit-215 hours agoWhy make it complicated?lemmy.mlimagemessage-square74fedilinkarrow-up1257arrow-down10file-textcross-posted to: programmerhumor@lemmy.ml
arrow-up1257arrow-down1imageWhy make it complicated?lemmy.ml@HiddenLayer555@lemmy.ml to Programmer Humor@programming.devEnglish • edit-215 hours agomessage-square74fedilinkfile-textcross-posted to: programmerhumor@lemmy.ml
minus-square@dan@upvote.aulinkfedilink7•13 hours agoCan we talk about PHP functions with typehints too? public static function foo(): string { Practically every other language with similar syntax does this instead: public static string foo() {
minus-square@HiddenLayer555@lemmy.mlOPlinkfedilinkEnglish6•13 hours agoTIL PHP has statics. Also, does PHP actually enforce the type declarations? I’d assume it would but knowing PHP…
minus-square@dan@upvote.aulinkfedilink4•13 hours agoIt enforces scalar types (string, int, etc) at runtime if you enable strict mode. There’s also static analysis tools like PHPStan and Psalm that will flag issues at build time.
minus-square@calcopiritus@lemmy.worldlinkfedilink2•12 hours agoJavaScript (Typescript for the type part) and python, the most popular scripting languages, use the same order as PHP. It’s usually compiled languages that do the other one.
minus-square@dan@upvote.aulinkfedilink2•11 hours agoTypeScript doesn’t need the “function” keyword for a method in an object or on a class though. const foo = { bar(): string { ... } } which I assume is doable because the syntax is unambiguous. In PHP’s case, the method syntax should also be unambiguous.
Can we talk about PHP functions with typehints too?
public static function foo(): string {
Practically every other language with similar syntax does this instead:
public static string foo() {
TIL PHP has statics.
Also, does PHP actually enforce the type declarations? I’d assume it would but knowing PHP…
It enforces scalar types (string, int, etc) at runtime if you enable strict mode. There’s also static analysis tools like PHPStan and Psalm that will flag issues at build time.
so, no. good catch OP!
JavaScript (Typescript for the type part) and python, the most popular scripting languages, use the same order as PHP.
It’s usually compiled languages that do the other one.
TypeScript doesn’t need the “function” keyword for a method in an object or on a class though.
const foo = { bar(): string { ... } }
which I assume is doable because the syntax is unambiguous.
In PHP’s case, the method syntax should also be unambiguous.