Get a list of all available classes with PHPGet a list of all available classes with PHP

Posted July 10th, 2008 in PHP

PHP has the function get_declared_classes() which allows you to get a list of all the available system and user defined classes in an array. This post looks at how to use the get_declared_classes() function, the output from it and how to sort the list into alphabetical order.

Using get_declared_classes()

get_declared_classes() returns a zero based array containing all the classes available to your script, including both system declared classes (such as PDO and XMLReader) and the classes you have declared yourself or from any 3rd party libraries you have included in your script.

The following example illustrates this (the examples below assume we have two user defined classed called foo and bar):

print_r(get_declared_classes());

and an extract of the result:

Array
(
    [0] => stdClass
    [1] => Exception
    [2] => ErrorException
    [3] => LibXMLError
    [4] => __PHP_Incomplete_Class
    [5] => php_user_filter
    ...
    [100] => XMLWriter
    [101] => XSLTProcessor
    [102] => foo
    [103] => bar
)

Sorting the result into alphabetical order

If you want to sort the list of classes into alphabetical order, you could do this instead:

$classes = get_declared_classes();
sort($classes);
print_r($classes);

and an extract of the result:

Array
(
    [0] => AppendIterator
    [1] => ArrayIterator
    [2] => ArrayObject
    [3] => BadFunctionCallException
    [4] => BadMethodCallException
    [5] => CachingIterator
    ...
    [100] => mysqli_stmt
    [101] => mysqli_warning
    [102] => php_user_filter
    [103] => stdClass
)  

Conclusion

The get_declaed_functions() function is a great way of getting a complete list of classes that are available on your install of PHP and from your own and 3rd party PHP libraries.

Related posts:

Share or Bookmark

Share or Bookmark this page using the following services. You will need to have an account with the selected service in order to post links or bookmark this page.

Subscribe or Follow

Subscribe via RSS or email, or follow me on Facebook or Twitter below. The RSS icon takes you through to Feedburner where you can select the service or application to use.

Comments

blog comments powered by Disqus