3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Http\Promise; interface Promise { public function then(callable $onFulfilled = null, ?callable $onRejected = null); } foreach ((new \ReflectionMethod(Promise::class, 'then'))->getParameters() as $p) { var_dump((string) $p); $t = $p->getType(); var_dump($t->getName()); var_dump($t->allowsNull()); var_dump((string) $t); echo "\n\n"; }
Output for 8.4.1 - 8.4.12
Deprecated: Http\Promise\Promise::then(): Implicitly marking parameter $onFulfilled as nullable is deprecated, the explicit nullable type must be used instead in /in/EQimk on line 7 string(57) "Parameter #0 [ <optional> ?callable $onFulfilled = NULL ]" string(8) "callable" bool(true) string(9) "?callable" string(56) "Parameter #1 [ <optional> ?callable $onRejected = NULL ]" string(8) "callable" bool(true) string(9) "?callable"
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25
string(57) "Parameter #0 [ <optional> ?callable $onFulfilled = NULL ]" string(8) "callable" bool(true) string(9) "?callable" string(56) "Parameter #1 [ <optional> ?callable $onRejected = NULL ]" string(8) "callable" bool(true) string(9) "?callable"

preferences:
68.74 ms | 408 KiB | 5 Q