patgod85 / phpdoc2rst
PHPDoc to RST
Installs: 40
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- andrewsville/php-token-reflection: dev-master
- doctrine/annotations: 1.2.*
- doctrine/inflector: 1.1.*
- jms/serializer: 1.4.*
- symfony/config: 3.4.*
- symfony/console: 3.4.*
- symfony/dependency-injection: 3.4.*
- symfony/framework-bundle: 3.4.*
- symfony/http-kernel: 3.4.*
- symfony/process: 3.4.*
- twig/twig: 1.*.*
Requires (Dev)
- mockery/mockery: 0.9.4
- phpunit/phpunit: ^6
README
The tool for building of documentation for shared API in reStructuredText format
For main API entities
we can generate rst-files with data stored in PhpDoc annotations. Examples of results can be found here .
Installation:
composer require patgod85/phpdoc2rst
The tool implemented as a bundle for Symfony 2 and provides 2 commands:
php app/console phpdoc2rst:process
The command generates rst-files for specified target (Controllers, Models of Exceptions)
arguments:
- namespace - The namespace to process;
- path - The path the namespace can be found in;
options:
- --output, -o - The path to output the ReST files;
- --title, -t - An alternate title for the top level namespace;
- --exclude, -x - Semicolon separated namespaces to ignore;
- --target - Which elements need to select. Default value 'properties';
- --groups - Allows to fetch only properties of required group. A string divided by commas. Default value '';
- --header - Set the weight of main header for target==properties. Available options "h1" and "h2". Default value is "h1"
php app/console phpdoc2rst:all
The command is a runner of several phpdoc2rst:process that specified in config.yml of the project
Example of config.yml section
patgod85_phpdoc2rst: errors_provider: my_bundle.errors tasks: email: subtasks: default: target: 'properties' namespace: 'MyBundle\Model' input: '%kernel.root_dir%/../src/MyBundle/Model' output: '%kernel.root_dir%/../src/MyBundle/Resources/views/model' groups: Export,Create header: h2
For "properties" mode the annotation JMS\Serializer\Annotation\VirtualProperty
should be counted
##To update the bundle:
- Commit the changes
- Add a tag with version number
- Push
- Run
composer require patgod85/phpdoc2rst:0.0.17
in the customer project