On Tue, Feb 5, 2013 at 2:56 PM, Peter Cowburn <petercowb...@gmail.com>wrote:

> On 5 February 2013 11:50, Ferenc Kovacs <tyr...@gmail.com> wrote:
> >
> > Hi,
> >
> > We have a note on http://www.php.net/manual/en/functions.internal.php
> > "Note: If the parameters given to a function are not what it expects,
> such
> > as passing an array where a string is expected, the return value of the
> > function is undefined. In this case it will likely return NULL but this
> is
> > just a convention, and cannot be relied upon."
> > We introduced a new parameter parsing API, which made this behavior more
> > widely supported:
> > http://php.net/manual/en/migration53.incompatible.php
> > "The newer internal parameter parsing API has been applied across all the
> > extensions bundled with PHP 5.3.x. This parameter parsing API causes
> > functions to return NULL when passed incompatible parameters. There are
> some
> > exceptions to this rule, such as the get_class() function, which will
> > continue to return FALSE on error."
> >
> > I think that the current documentation is lacking in this regard, but I'm
> > not sure which would be the best solution to address this.
> >
>
> Whatever happens, we don't want to start adding phrases like "this
> function will return null and issue an E_WARNING if you feed rubbish
> into it" to any (nearly all!) functions.  Expanding upon that short
> paragraph mentioned above might be nice, but I would really dislike
> for us to start "fixing" almost every single function's return types
> (they would all return "mixed").  I'm sure we've discussed this
> on-list previously, I'll take a look at the history.
>

Yeah, this is why I wrote that I'm not sure how to fix.
But if we could figure out a way where we could get more visibility to this
behaviour without false-positives and the burden of manually going through
all of the methods and like/mention that note, then I think it would be
better than the current situation.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to