Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/silverleague/silverstripe-ideannotator
Generate docblocks for DataObjects, Page, PageControllers and (Data)Extensions
https://github.com/silverleague/silverstripe-ideannotator
code-generator code-quality dataobject docblock hacktoberfest helper improvement packagist phpstorm rick-and-morty silverleague-modules silverstripe silverstripe-4 silverstripe-ideannotator vscode
Last synced: 3 days ago
JSON representation
Generate docblocks for DataObjects, Page, PageControllers and (Data)Extensions
- Host: GitHub
- URL: https://github.com/silverleague/silverstripe-ideannotator
- Owner: silverleague
- License: bsd-3-clause
- Created: 2015-07-11T12:43:20.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-03T19:44:48.000Z (3 months ago)
- Last Synced: 2024-12-18T07:04:11.475Z (10 days ago)
- Topics: code-generator, code-quality, dataobject, docblock, hacktoberfest, helper, improvement, packagist, phpstorm, rick-and-morty, silverleague-modules, silverstripe, silverstripe-4, silverstripe-ideannotator, vscode
- Language: PHP
- Homepage:
- Size: 351 KB
- Stars: 46
- Watchers: 6
- Forks: 24
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-silverstripe-cms - IdeAnnotator - Auto-generates class annotations on dev/build. (Very Useful Modules / Development Helpers)
README
# silverstripe-ideannotator
[![Scrutinizer](https://img.shields.io/scrutinizer/g/silverleague/silverstripe-ideannotator.svg)](https://scrutinizer-ci.com/g/silverleague/silverstripe-ideannotator/)
[![Travis](https://img.shields.io/travis/silverleague/silverstripe-ideannotator.svg)](https://travis-ci.org/silverleague/silverstripe-ideannotator)
[![codecov](https://codecov.io/gh/silverleague/silverstripe-ideannotator/branch/master/graph/badge.svg)](https://codecov.io/gh/silverleague/silverstripe-ideannotator)
[![Packagist](https://img.shields.io/packagist/dt/silverleague/ideannotator.svg)](https://packagist.org/packages/silverleague/ideannotator)
[![Packagist](https://img.shields.io/packagist/v/silverleague/ideannotator.svg)](https://packagist.org/packages/silverleague/ideannotator)
[![Packagist Pre Release](https://img.shields.io/packagist/vpre/silverleague/ideannotator.svg)](https://packagist.org/packages/silverleague/ideannotator)This module generates @property, @method and @mixin tags for DataObjects, PageControllers and (Data)Extensions, so ide's like PHPStorm recognize the database and relations that are set in the $db, $has_one, $has_many and $many_many arrays.
The docblocks can be generated/updated with each dev/build and with a DataObjectAnnotatorTask per module or classname.
## Requirements
SilverStripe Framework and possible custom code.
By default, `mysite` and `app` are enabled "modules".
### Version ^2:
SilverStripe 3.x framework### Version ^3:
SilverStripe 4.x+## Installation
```json
{
"require-dev": {
"silverleague/ideannotator": "3.x-dev"
}
}
```
Please note, this example omitted any possible modules you require yourself!## Example result
```php
'Varchar(255)',
'Sort' => 'Int'
);private static $has_one = array(
'Author' => Member::class
);private static $has_many = array(
'Categories' => Category::class
);private static $many_many = array(
'Tags' => Tag::class
);
}
```## Further information
For installation, see [installation](docs/en/Installation.md)For the Code of Conduct, see [CodeOfConduct](docs/en/CodeOfConduct.md)
For contributing, see [Contributing](CONTRIBUTING.md)
For further documentation information, see the [docs](docs/en/Index.md)
## A word of caution
This module changes the content of your files and currently there is no backup functionality. PHPStorm has a Local history for files and of course you have your code version controlled...
I tried to add complete UnitTests, but I can't garantuee every situation is covered.Windows users should be aware that the PHP Docs are generated with PSR in mind and use \n for line endings rather than Window's \r\n, some editors may have a hard time with these line endings.
This module should **never** be installed on a production environment.