3v4l.org

run code in 300+ PHP versions simultaneously
<?php function castToString(Stringable|string $variable): string { try { $value = (string) $variable; } catch(\Throwable) { var_dump("Error thrown during string-conversion!"); $value = ''; } return $value; } class MyString { public function __toString(): never { throw new \Exception(); } } castToString(new MyString());

preferences:
33.98 ms | 403 KiB | 5 Q