this post was submitted on 19 Jun 2025
92 points (84.3% liked)

Programmer Humor

24540 readers
1512 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Made with KolourPaint and screenshots from Kate (with the GitHub theme).

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 1 week ago (3 children)

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() {
[–] [email protected] 0 points 1 week ago (1 children)

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.

[–] [email protected] 0 points 1 week ago

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.

[–] [email protected] 4 points 1 week ago (2 children)

Rust and TypeScript use the return-type-at-the-end convention as well.

[–] [email protected] 0 points 1 week ago* (last edited 1 week ago) (1 children)

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.

PHP's object orientation is similar to languages like Java and C#, which is what I was comparing to.

[–] [email protected] 0 points 1 week ago

Your example didn't mention the use of the function keyword. Instead, it seemed to be questioning the placement of the return type - placing it after the argument list seems pretty common in newer languages.

[–] [email protected] 0 points 1 week ago (1 children)
[–] [email protected] 2 points 1 week ago (1 children)
[–] [email protected] 3 points 1 week ago
[–] [email protected] 0 points 1 week ago (1 children)

TIL PHP has statics.

Also, does PHP actually enforce the type declarations? I'd assume it would but knowing PHP...

[–] [email protected] 0 points 1 week ago

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.