silverleague / ideannotator
为 DataObject 和 DataExtension 的数据库字段和关系方法生成 PHP DocBlock 注释
3.5.1
2024-04-15 22:51 UTC
Requires
- php: ^8.0
- phpdocumentor/reflection-docblock: ^5.4
- silverstripe/framework: ^4 || ^5
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.0
- dev-master / 3.x-dev
- 3.5.1
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.x-dev
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.1
- 3.0.0
- 3.0-rc1
- 3.0-beta1
- 3.0.0-alpha1
- 2.0.x-dev
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- 0.8
- dev-dbfield-from-config
- dev-update-reflector
- dev-hans/ss5-compatibility
- dev-controller-fixes
This package is auto-updated.
Last update: 2024-08-25 11:18:25 UTC
README
此模块为 DataObjects、PageControllers 和 (Data)Extensions 生成 @property、@method 和 @mixin 标签,以便像 PHPStorm 这样的 IDE 能够识别在 $db、$has_one、$has_many 和 $many_many 数组中设置的数据库和关系。
可以使用每个模块或类名的 DataObjectAnnotatorTask 在每次 dev/build 时生成/更新 docblocks。
需求
SilverStripe 框架和可能的自定义代码。
默认情况下,mysite
和 app
是启用 "模块"。
版本 ^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 为文件提供本地历史记录,当然您也拥有代码版本控制...我尝试添加了完整的单元测试,但无法保证涵盖所有情况。
Windows 用户应意识到,PHP 文档是用 PSR 考虑生成的,并且使用 \n 作为行结束符,而不是 Windows 的 \r\n,某些编辑器可能难以处理这些行结束符。
此模块绝对不应该在生产环境中安装。