axyr / silverstripe-ideannotator
此包已被废弃,不再维护。作者建议使用silverleague/silverstripe-ideannotator包代替。
为DataObject和DataExtension数据库字段和关系方法生成PHP DocBlock注释
3.1.1
2021-02-13 00:03 UTC
Requires
- php: >=5.6.0
- phpdocumentor/reflection-docblock: ^2.0@dev
- silverstripe/framework: ^4
Requires (Dev)
README
此模块为DataObjects、PageControllers和(数据)扩展生成@property、@method和@mixin标签,以便IDE(如PHPStorm)能够识别在$db、$has_one、$has_many和$many_many数组中设置的数据库和关系。
文档块可以在每次dev/build时生成/更新,也可以在每个模块或类名处使用DataObjectAnnotatorTask。
需求
SilverStripe框架和可能的自定义代码。
默认情况下,mysite
是一个启用的"模块"。
版本 ^2
SilverStripe 3.x框架
版本 ^3
SilverStripe 4.x
安装
{ "require-dev": { "silverleague/ideannotator": "3.x-dev" } }
请注意,此示例省略了您可能需要的任何模块!
示例结果
<?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 ); }
更多信息
有关安装信息,请参阅安装
有关行为准则,请参阅行为准则
有关贡献,请参阅贡献
有关更多文档信息,请参阅文档
注意事项
此模块会更改您的文件内容,目前没有备份功能。PHPStorm有文件本地历史记录,当然您有代码版本控制... 我尝试添加完整的单元测试,但不能保证涵盖所有情况。
此模块绝不能在生产环境中安装。