This module generates @property, @method and @mixin tags for DataObjects, Page_Controllers 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.
##Example result
<?php
/**
* Class NewsItem
*
* @property string $Title
* @property int $Sort
* @property int $Version
* @property int $AuthorID
* @method Member Author()
* @method DataList|Category[] Categories()
* @method ManyManyList|Tag[] Tags()
* @mixin Versioned
*/
class NewsItem extends DataObject
{
private static $db = array(
'Title' => 'Varchar(255)',
'Sort' => 'Int'
);
private static $has_one = array(
'Author' => 'Member'
);
private static $has_many = array(
'Categories' => 'Category'
);
private static $many_many = array(
'Tags' => 'Tag'
);
}
For installation, see installation
For the Code of Conduct, see CodeOfConduct
For contributing, see Contributing
For further documentation information, see the docs
##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.