1. Go to this page and download the library: Download crodas/notoj library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
crodas / notoj example snippets
use Notoj\ReflectionClass;
/** @foo @bar */
class Foo {
}
$reflection = new ReflectionClass('Foo');
var_dump($reflection->getAnnotations());
$parser = new \Notoj\File("/foo.php");
$parser->getAnnotations();
$parser = new \Notoj\Dir("/foo"); // The parser is recursive
$parser->setFilter(function($file) {
return true;
});
$annotations = $parser->getAnnotations();
foreach ($annotations->get('Foo\Bar') as $annotations) {
foreach ($annotations as $annotation) {
var_dump(
"found @Foo\Bar at " . $annotation['file']
. ($annotation->isClass() ? ' on a class ' : ' on something else other than a class')
);
}
}
// check if there is a @Foo
if (!$annotation->has('Foo')) {
throw new \RuntimeException("We were expecting a Foo annotation tag");
}
// ensure that *every* @Foo has at least some argument
foreach ($annotation->get('Foo') as $ann) {
if (empty($ann['args'])) {
throw new \RuntimeException("we were expecting arguments");
}
}
foreach ($annotation as $ann) {
// get *All* iterations
}