Skip to content

Complements the PHP reflection API with the missing ReflectionFile class

License

Notifications You must be signed in to change notification settings

SyberIsle/filereflection

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

syberisle/filereflection

Build Status

This library complements the PHP reflection API with the missing ReflectionFile class.

A few other libraries were available to do this already, but this one implements an important feature missing from other implementations that could be found: resolution of local type-names according to the name resolution rules.

Install

Via Composer

$ composer require syberisle/filereflection

Usage

The interface is very simple:

ReflectionFile {

    public __construct( string $path )

    public string getPath ( void )
    public string getNamespaceName ( void )
    public string resolveName ( string $name )
    public ReflectionClass getClass ( string $name )
    public ReflectionClass[] getClasses ( void )

}

Usage of course is straight forward too:

use SyberIsle\FileReflection\ReflectionFile;

$file = new ReflectionFile('/path/to/MyNamespace/MyClass.php');

var_dump($file->resolveName('MyOtherClass')); // => '\MyNamespace\MyOtherClass'

Note that this library currently omits reflection/enumeration of functions, constants, etc.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The LGPL 3.0+ License. Please see License File for more information.

About

Complements the PHP reflection API with the missing ReflectionFile class

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%