On Wed, 5 Oct 2022 at 19:53, Eugene Sidelnyk <zsidel...@gmail.com> wrote:
> I used to have an awkward feeling when it was necessary to convert the > nullable integer into a nullable string. It would be kind of ternary > operator anyway. Either `$b = (null !== $a) ? (string)$a : null;` or `$b = > (string)$a ?: null;`. > > A lot easier to read would it be if written this way: `$b = (?string)$a;`. > The intentions are clear when doing explicit type-cast. > > Currently, I don't see any other situations when this feature may be useful > I don't think that this tiny edge case warrants a new language feature. I can endorse using [`azjezz/psl`]( https://github.com/azjezz/psl/blob/34391b78f097e7d489bd618d2cb15ef474937896/src/Psl/Type/TypeInterface.php#L21-L26) for this though: ```php use Psl\Type; $myValue = Type\union(Type\int(), Type\null()) ->coerce($input); ``` This will also throw an exception (**GOOD**) if the cast is not safe to perform. Marco Pivetta https://twitter.com/Ocramius https://ocramius.github.io/