A set of code generator utilities built on top of PHP-Parsers that ease its use when combined with Reflection
Code Generation Utils is a small library that is not yet intended for general use.
It is a small project that aims at collecting common solutions to code generation problems that I often face, and for now it doesn't have a really solid structure.
Supported installation method is via composer:
$ php composer.phar require ocramius/code-generator-utils:0.3.*
The provided components are generally related with code generation and related problems.
This is a small callback-based autoloader component - it should be used when trying to autoload generated classes.
The FileLocator basically represents a map of generated class names to files where those classes should be read from or written to. This component can be useful for non-PSR-0-compliant generated code.
Provides logic to serialize a PHP-Parser AST to a class. Current strategies allow to:
- Serialize an AST to a string
- Serialize an AST to a string and evaluate it (via
eval()) at runtime
- Serialize an AST to a string and save it to a file (via
Provides various utilities to:
- Convert a generated code's FQCN to the FQCN of the class from which it was generated
- Generate the FQCN of a generated class given an original class name and some arbitrary parameters to be encoded (allows multiple generated classes per origin class)
- Generate unique valid identifier names
Very rudimentary converter that builds PHP-Parser AST nodes from Reflection objects (still WIP)
Various visitors used to manipulate classes, methods and properties in a given PHP-Parser AST
Please read the CONTRIBUTING.md contents if you wish to help out!