Hello Andi,

  erm yes i could put it to spl as a convenience function prefixed by 'spl_'
and we could also add a namespace for class functions 'class_' or one for
the reflection api (whatever that might be) or we could put those as static
methods into class 'Reflection'. However all of these makee it harder since
having 'class_exists', 'function_exists', 'method_exists' simply screems for
having 'property_exists' also. Why must we always make php so hard by
preventing not to have it consitent? I know the 'global namespace' argument.
But like many other things it is to late to enforce that rule...many years
to late. And don't ask me about consts. They were wrong right from the
beginning. we should have read only proeprties instead and be done.

marcus

Friday, April 8, 2005, 6:53:33 PM, you wrote:

> It's vital? Come on, you can convince me that it's nice to have, sure. But
> vital? What can it do which you can do with reflection API? If the name is
> sexier than you can write your own PHP function.

> At 06:36 PM 4/8/2005 +0200, Marcus Boerger wrote:
>>Hello Andrey,
>>
>>   same goes for property_exists() which is why i added it.
>>
>>marcus
>>
>>Friday, April 8, 2005, 6:31:48 PM, you wrote:
>>
>> >    Hello Andi, Marcus,
>> > method_exists() is quite vital to help where the type hinting fail.
>> > Type hinting fail because it leads to a fatal error which is uncatchable
>> > and the code cannot react on this. Therefore, for me type hinting is
>> > kind of useless since I cannot catch my bugs by executing some code 
>> whenever
>> > the data passed is not what the function/method expects. Reflection API is
>> > overkill to write everywhere and has to be wrapped to something which at
>> > the end will simulate method_exists().
>>
>> > Thanks for you attention,
>> > Andrey
>>
>> > Marcus Boerger wrote:
>> >> Hello Andi,
>> >>
>> >>   to this i only agree under two conditions. First we remove other like
>> >> method_exists() too and second we fix handling of implicit public and
>> >> dynamic properties. Unless the second is done i see such a function as
>> >> relative important and don't like to use reflection overhead always.
>> >>
>> >> regards
>> >> marcus
>> >>
>> >> Friday, April 8, 2005, 6:00:03 PM, you wrote:
>> >>
>> >>
>> >>>Marcus,
>> >>
>> >>
>> >>>There was a long discussion about this a few months ago.
>> >>>The conclusion was to use the reflection_api for the very few instances
>> >>>where isset() isn't relevant.
>> >>>Although we have done bad stuff in the past, it's also not a good idea to
>> >>>continue polluting the global namespace.
>> >>>Please revert this patch.
>> >>>FYI, all the other requests for additional functions like
>> >>>class_constant_exists() should also be reflection API. It's best for the
>> >>>language.
>> >>
>> >>
>> >>>Thanks,
>> >>>Andi
>> >>
>> >>
>> >>>At 01:33 PM 4/8/2005 +0000, Marcus Boerger wrote:
>> >>>
>> >>>>helly           Fri Apr  8 09:33:17 2005 EDT
>> >>>>
>> >>>>  Modified files:
>> >>>>    /ZendEngine2        zend_builtin_functions.c
>> >>>>  Log:
>> >>>>  - Add property_exits()
>> >>>>
>> >>>>http://cvs.php.net/diff.php/ZendEngine2/zend_builtin_functions.c?r1=1.
>> 262&r2=1.263&ty=u
>> >>>>Index: ZendEngine2/zend_builtin_functions.c
>> >>>>diff -u ZendEngine2/zend_builtin_functions.c:1.262
>> >>>>ZendEngine2/zend_builtin_functions.c:1.263
>> >>>>--- ZendEngine2/zend_builtin_functions.c:1.262  Mon Apr  4 13:23:38 2005
>> >>>>+++ ZendEngine2/zend_builtin_functions.c        Fri Apr  8 09:33:15 2005
>> >>>>@@ -17,7 +17,7 @@
>> >>>>
>> >>>>+----------------------------------------------------------------------+
>> >>>> */
>> >>>>
>> >>>>-/* $Id: zend_builtin_functions.c,v 1.262 2005/04/04 17:23:38 stas 
>> Exp $ */
>> >>>>+/* $Id: zend_builtin_functions.c,v 1.263 2005/04/08 13:33:15 helly 
>> Exp $ */
>> >>>>
>> >>>> #include "zend.h"
>> >>>> #include "zend_API.h"
>> >>>>@@ -43,6 +43,7 @@
>> >>>> static ZEND_FUNCTION(get_class);
>> >>>> static ZEND_FUNCTION(get_parent_class);
>> >>>> static ZEND_FUNCTION(method_exists);
>> >>>>+static ZEND_FUNCTION(property_exists);

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

Reply via email to