Scabbia2 Scanners Component
This component scans the source directories and compiles some information. It is basically designed for extracting annotations from docblocks but functionality can be extended by implementing Scabbia\Scanners\ScannerInterface
., (*1)
, (*2)
Usage
use Scabbia\Scanners\Scanners;
use Scabbia\Scanners\AnnotationScanner;
$annotationScanner = new AnnotationScanner();
$scanners = new Scanners();
$scanners->register($annotationScanner);
$scanners->processFolder('src/');
var_dump($annotationScanner->result);
Custom Scanner
use Scabbia\Scanners\Scanners;
use Scabbia\Scanners\ScannerInterface;
use Scabbia\Scanners\TokenStream;
use ReflectionClass;
$customScanner = new class () implements ScannerInterface {
public function processFile($file, $fileContents) {
echo 'processing file ', $file;
}
public function processTokenStream(TokenStream $tokenStream) {
}
public function processClass($class, ReflectionClass $reflection) {
echo 'processing class ', $class;
}
public function finalize() {
echo 'done.';
}
};
$scanners = new Scanners();
$scanners->register($customScanner);
$scanners->processFolder('src/');
Links
Contributing
It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome. All contributions should be filed on the eserozvataf/scabbia2-scanners repository., (*3)
- To contribute to code: Fork the repo, push your changes to your fork, and submit a pull request.
- To report a bug: If something does not work, please report it using GitHub issues.
- To support: