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: