Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Parser / Tokenizer for DocBlocks in PHP Class Methods
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Documenting Reflection Method Class

This class is designed to parse and tokenize a PHP DocBlock for a class method. This is useful because it enables you to add custom annotations to your methods for various uses.

Personally, I've used it to help create rails-style helper classes in my frameworks. I use smarty as my template rendering engine, and use helper classes to create template functions, modifiers and blocks. By using a custom annotation (@helperType) in my DocBlocks, I can properly register the class method of a helper as a function, modifier or block.


Usage is pretty simple, you just need to do a bit of reflecting. Say you had a class that looks like:

class Foo
     * Does Something
     * @someAnnotation FooBar
     * @return void
    public function bar ()
        // do stuff

You could get the tags, and annotation as a result, by doing the following (assuming you've included the DocumentingReflectionMethod class):

$rc         = new ReflectionClass('Foo');
$instance   = $rc->getInstance();
$docs       = new DocumentingReflectionMethod($instance, 'bar');
$tags       = $docs->getTags();

if (isset($tags['someAnnotation']))
    // do whatever you want

Other Info

The class itself is pretty well-documented, so you shouldn't have much trouble figuring things out. If you want some brownie points, you could always create /edit wiki pages for various pieces of functionality, and if you need help / found a bug, file a ticket in the issues

Something went wrong with that request. Please try again.