Hello Internals

I've been reading some over the reflection sources, and theres a few
things that made me wonder abit;

1) ReflectionParameter::getDefaultValue(), was added to HEAD in 2006,
but never merged to a stable branch? I made a backport of the function
to 5.3 [1] which I think we should merge, whether its gonna be 5.3.1
or what.

2) _default_lookup_entry() is commented out by a macro in HEAD but is
used in 5.3, and the only difference is the zend_hash_find ->
zend_u_hash_find call for unicode?

3) Closures, theres alot of closure differences in HEAD and 5.3, for
example HEAD has ReflectionMethod::getClosure() and
ReflectionFunction::getClosureThis(), but 5.3 does not, which makes it
looks like a change in 5.3 that never occured to HEAD, unless that is
the logic is fixed in HEAD. We should really fix this, so 5.3 have
these if needed.

4) How about an ReflectionNamespace, to analyze a namespace? Since
theres no real way to use reflection on namespaces other than the
"isNamespace" methods etc.


On a related note, I'd also like to propose an addition for
reflection, whether its 5.3.1 or what (since we're so late in 5.3,
theres no need to push more features), this is 3 new methods to the
ReflectionExtension class[2]:

ReflectionExtension::isDynamicLoaded() - Returns if an extension was
loaded through dl()
ReflectionExtension::getBuildId() - Gets the zend build id (added in 5.3)
ReflectionExtension::getAPINo() - Gets the zend api no that the
extension was compiled for (may not really be needed, since the number
doesn't change very often nor may be of any real use)




[1] http://pastie.org/474289
[2] http://pastie.org/474293

-- 
Kalle Sommer Nielsen
ka...@php.net

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

Reply via email to