Hey: On Fri, Mar 27, 2015 at 5:02 PM, Dmitry Stogov <dmi...@zend.com> wrote: > 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()? > too bad :< > > 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. > okey, I will separate these part to a single fix
thanks > 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 >> > -- Xinchen Hui @Laruence http://www.laruence.com/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php