On Tue, Feb 12, 2019 at 11:21 AM Sara Golemon <poll...@php.net> wrote:

> On Tue, Feb 12, 2019 at 10:18 AM Nikita Popov <nikita....@gmail.com>
> wrote:
> > Very much opposed to any kind of special handling for is_resource(). We
> > used to do this for is_object() and __PHP_Incomplete_Class and I'm very
> > happy to be rid of this special behavior. Let's not add is back in a new
> > place.
> >
> Agreed. This is something that we discuss every time a resource->object
> conversion comes up and we always agree that special-casing lies the way of
> madness and the tiny fraction of user code that actually checks this can
> adapt   `if (is_resource($x) || $x instanceof NewClassName)`  Done and
> sorted. Let's skip this repeat of the past and move forward with the
> killing all resources with fire.
>

Ok. Thinking longer range, perhaps we should prepare users for these
transitions by improving the documentation. For example, xml_parser_create
returns false on failure, but the manual
<http://php.net/manual/en/function.xml-parser-create.php> makes no mention
of this. If we had this documented, we might see more if (false == $x) in
the wild than the (worse IMO) if (is_resource($x)). It might also help to
comment on resource factories that working with the return value as a
resource proper is discouraged. I'll do this for xml_parser_create*.

Reply via email to