2012/3/31 reeze <reeze....@gmail.com>:
> 在 2012年3月31日星期六,下午3:31,Stas Malyshev 写道:
>
> On 3/30/12 7:27 PM, Yasuo Ohgaki wrote:
>
> Hi Stas,
>
> Just FYI.
> Following bugs are needed to be fixed before 5.4.1, I think.
>
> https://bugs.php.net/bug.php?id=61526
> Which is right, doc or code?
>
>
> Both. The parameter means that first argument (object) can be a string,
> and if it is, it will be passed to autoloader to find the class. See bug
> #55475 for the discussion.
>
> If is set to false does it means the first parameter can't be string?
> Can't we just make the last parameter to autoload=true|false.
> if the first parameter is a string then try to find the class if not try
> autoloadding.
>
> if string will not be a String Class in 5.* I think it's ok  to do like
> this.   eg: callable and many mixed paramter.
>
> what do you think?

You're right.
I've read too many bug reports today and confused :)


<?php
class Super {}
class Sub extends Super {}

// By default, 1st parameter may be string and treated as class name.
var_dump(is_subclass_of('Sub', 'Super')); // true

// Explicitly allow string as class name
var_dump(is_subclass_of('Sub', 'Super', true)); // true

// Do not allow string as a 1st parameter, so false.
var_dump(is_subclass_of('Sub', 'Super', false)); // false
?>

Therefore, 3rd parameter works for "Not allowing class name", but
it cannot be used to restrict autoloading.

Am I missing something? I'll read the report Stas mentioned from now.

Regards,

--
Yasuo Ohgaki

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to