Namespace PHPStan\BetterReflection\SourceLocator\Type

Classes
AbstractSourceLocator
AggregateSourceLocator
AutoloadSourceLocator

Use PHP's built in autoloader to locate a class, without actually loading. There are some prerequisites...

  • we expect the autoloader to load classes from a file (i.e. using require/include)
  • your autoloader of choice does not replace stream wrappers
ComposerSourceLocator

This source locator uses Composer's built-in ClassLoader to locate files. Note that we use ClassLoader->findFile directory, rather than ClassLoader->loadClass because this library has a strict requirement that we do NOT actually load the classes

DirectoriesSourceLocator

This source locator recursively loads all php files in an entire directory or multiple directories.

EvaledCodeSourceLocator
FileIteratorSourceLocator

This source locator loads all php files from \FileSystemIterator

MemoizingSourceLocator
PhpInternalSourceLocator
SingleFileSourceLocator

This source locator loads an entire file, specified in the constructor argument. This is useful for loading a class that does not have a namespace. This is also the class required if you want to use Reflector->getClassesFromFile (which loads all classes from specified file)

StringSourceLocator

This source locator simply parses the string given in the constructor as valid PHP. Note that this source locator does NOT specify a filename, because we did not load it from a file, so it will be null if you use this locator.

Interfaces
SourceLocator
Namespaces
PHPStan\BetterReflection\SourceLocator\Type\Composer