2016-09-25 15:19 GMT+02:00 Christoph M. Becker <cmbecke...@gmx.de>:

> On 25.09.2016 at 11:29, Leigh wrote:
>
> > On Sun, 25 Sep 2016 at 06:29 Pierre Joye <pierre....@gmail.com> wrote:
> >
> >> Also this behavior is clearly documented:
> >>
> >> http://th1.php.net/manual/en/function.get-class.php
> >>
> >> "If object is omitted when inside a class, the name of that class is
> >> returned."
> >>
> >> I am opposed to break BC because we change our mind about how clean is
> this
> >> behavior and I recommend the (future) RMs to veto this change.
> >
> > This is ambiguous at best.
> >
> > "Omitted" and "Not omitted but set to null" are different things.
>
> However, the changelog entry for 5.3.0 states:
>
> | NULL became the default value for object, so passing NULL to object
> | now has the same result as not passing any value.
>
> And that's what I would expect when reading the function signature;
> after all, NULL is the default value of $object.


I think what matters is the documentation of the return value, not the
changelog.

Returns the name of the class of which object is an instance. Returns FALSE
> if object is not an object.
> If object is omitted when inside a class, the name of that class is
> returned.


It clearly says "omitted", that's passing nothing at all. Passing `null`
doesn't omit an argument, it passes `null`.

 I am opposed to break BC because we change our mind about how clean is this


I guess most code that might pass null is probably broken, do you have a
use case where the current behavior even makes sense?

Regards, Niklas

Reply via email to