Hi,
Is it possible to enumerate all visible class name in current scope?
If not names, a zval like structure is nice as well.
Thanks!
--
Best Regards,
Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/
Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33
On Mon, May 19, 2014 at 1:28 AM, Aaron Lewis the.warl0ck.1989@gmail.comwrote:
Hi,
Is it possible to enumerate all visible class name in current scope?
If not names, a zval like structure is nice as well.
Thanks!
--
Best Regards,
Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/
Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33--
I know you can use get_declared_classes()
to iterate through ALL declared
classes, but I don't know how it behaves with regard to scope and
visibility. I do know that it includes both user-defined and predefined
classes in its output.
--Kris
Hi Kris,
Thanks for the quick reply. I found class_table HashTable structure in
that zend function.
But, do you know how to tell between user-defined classes and predefined ones?
On Mon, May 19, 2014 at 1:28 AM, Aaron Lewis the.warl0ck.1989@gmail.com
wrote:Hi,
Is it possible to enumerate all visible class name in current scope?
If not names, a zval like structure is nice as well.
Thanks!
--
Best Regards,
Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/
Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33--
I know you can use
get_declared_classes()
to iterate through ALL declared
classes, but I don't know how it behaves with regard to scope and
visibility. I do know that it includes both user-defined and predefined
classes in its output.--Kris
--
Best Regards,
Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/
Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33
Hi Kris,
Thanks for the quick reply. I found class_table HashTable structure in
that zend function.But, do you know how to tell between user-defined classes and predefined ones?
Please take a minute or two to try to find answers to such questions
yourself. i.e. look at the class entry data structure, wonder whether
the "type" element might be related, grep for it and see that it is set
to either ZEND_INTERNAL_CLASS or ZEND_USER_CLASS. An alternative
approach to figure this out is to think about a way to get this
information from userspace, this should lead you to reflection, and that
to the implementation of ReflectionClass::isUserDefined() in
http://lxr.php.net/xref/PHP_TRUNK/ext/reflection/php_reflection.c#3574
Yes, the documentation is limited on these things but most things can be
figured out with some research. If you researched and are unsure feel
free to ask, and we are welcoming questions, but please mind that you
are sending the questions to a few hundred persons trying to follow the
PHP development ...
Thanks
johannes