Unfortunately this id not so simple :( If we change class_exists() the following code will stop working
<?php if (!class_exists("SomeInternalClass")) { class SomeInternalClass {} } ?> On the other hand function_exists() already behaves differently. (so function_exists() and class_exists() are inconsistent) :( Changing is_callable() semantic may be dangerous as well. What is we disable strcmp() and then pass is as a callback to usort()? I wouldn't make any changes in hurry. this should be discussed and analysed carefully. However preventing conversion of disabled functions into opcodes and their optimization makes full sense. Thanks. Dmitry. On Fri, Mar 27, 2015 at 9:41 AM, Xinchen Hui <larue...@php.net> wrote: > Hey: > > > > On Fri, Mar 27, 2015 at 1:14 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote: > > Hi all, > > > > On Fri, Mar 27, 2015 at 11:57 AM, Xinchen Hui <larue...@php.net> wrote: > >> > >> On Fri, Mar 27, 2015 at 3:06 AM, Kalle Sommer Nielsen <ka...@php.net> > >> wrote: > >> > Forgot to CC list > >> > > >> > > >> > ---------- Forwarded message ---------- > >> > From: Kalle Sommer Nielsen <ka...@php.net> > >> > Date: 2015-03-26 20:06 GMT+01:00 > >> > Subject: Re: [PHP-DEV] is_callable and function_exists with > >> > disable_functions > >> > To: Remi Collet <r...@fedoraproject.org> > >> > > >> > > >> > 2015-03-26 16:32 GMT+01:00 Remi Collet <r...@fedoraproject.org>: > >> >>> do you mind if I change the current behavior of is_callable , to > >> >>> return false on this case? > >> >> > >> >> Make sense > >> >> > >> >>> or, at least, change function_exists's behavior instead? > >> >> > >> >> Seems a bad idea. > >> > > >> > I agree with both points here, I think is_callable() should mimic > >> > function_exists() behavior, is this the same case for disable_classes? > >> > > >> yeah. but a little bit different > >> > >> class_exists return trun with disabled classes :< > >> > >> $ sapi/cli/php -d disable_classes=ArrayObject -r > >> "var_dump(class_exists('arrayobject')); new ArrayObject(); " > >> bool(true) > >> PHP Warning: ArrayObject() has been disabled for security reasons in > >> Command line code on line 1 > >> > >> Warning: ArrayObject() has been disabled for security reasons in > >> Command line code on line 1 > > > > > > Returning true for is_callable/class_exists even when it isn't usable > does > > not make much sense. How about fix them all? > > I filed a bug here: https://bugs.php.net/bug.php?id=69315&thanks=4 > > will make a fix soon > > thanks > > > > Regards, > > > > -- > > Yasuo Ohgaki > > yohg...@ohgaki.net > > > > > > -- > Xinchen Hui > @Laruence > http://www.laruence.com/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >