FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

thecodingmachine/class-explorer: Find the list of all your PHP classes and more. · GitHub

Repository files navigation

Class Explorer

Discover PHP classes in your project.

This project aim is to offer a set of classes enabling classes/interface/trait discovery in your own project.

Currently, the project contains only one implementation based on scanning files.

GlobClassExplorer

The GlobClassExplorer will look for all classes in a given namespace.

Usage

$explorer = new GlobClassExplorer('\\Some\\Namespace\\', $psr16Cache, $cacheTtl);
$classes = $explorer->getClasses();
// Will return: ['Some\Namespace\Foo', 'Some\Namespace\Bar', ...]

This explorer:

  • looks only for classes in YOUR project (not in the vendor directory)
  • assumes that if a file exists in a PSR-0 or PSR-4 directory, the class is available (assumes the file respects PSR-1)
  • makes no attempt at autoloading the class
  • is pretty fast, even when no cache is involved

By default, GlobClassExplorer will load classes recursively in sub-namespaces. You can prevent it to load classes recursively by passing false to the 5th parameter:

$explorer = new GlobClassExplorer('\\This\\Namespace\\Only\\', $psr16Cache, $cacheTtl, null, false);

You can also get a class map using the getClassMap method. A class map is an array associating the name of the classes found (in key), to the file they are linked to (the real path of the file).

$classMap = $explorer->getClassMap();
foreach ($classMap as $class => $file) {
    echo 'Class '.$class.' found in file '.$file;
}

About

Find the list of all your PHP classes and more.

Resources

Stars

12 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages


Back | FazBrowse Home | New Git URL