Generate PHP DocBlock annotations for DataObject and DataExtension databasefields and relation methods
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.
SilverStripe Framework and possible custom code.
By default, mysite
is an enabled "module".
SilverStripe 3.x framework
SilverStripe 4.x
{
"require-dev": {
"silverleague/ideannotator": "3.x-dev"
}
}
Please note, this example omitted any possible modules you require yourself!
<?php
/**
* Class NewsItem
*
* @property string $Title
* @property int $Sort
* @property int $Version
* @property int $AuthorID
* @method \SilverStripe\Security\Member Author()
* @method \SilverStripe\ORM\DataList|Category[] Categories()
* @method \SilverStripe\ORM\ManyManyList|Tag[] Tags()
* @mixin Versioned
*/
class NewsItem extends \SilverStripe\ORM\DataObject
{
private static $db = array(
'Title' => '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
);
}
For installation, see installation
For the Code of Conduct, see CodeOfConduct
For contributing, see Contributing
For further documentation information, see the docs
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.
This module should never be installed on a production environment.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem