axyr/silverstripe-ideannotator

此包已被废弃,不再维护。作者建议使用silverleague/silverstripe-ideannotator包代替。

为DataObject和DataExtension数据库字段和关系方法生成PHP DocBlock注释

安装次数: 17,924

依赖者: 0

建议者: 0

安全: 0

星标: 40

关注者: 5

分支: 21

类型:silverstripe-vendormodule

3.1.1 2021-02-13 00:03 UTC

README

Scrutinizer Travis codecov Packagist Packagist Packagist Pre Release

此模块为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有文件本地历史记录,当然您有代码版本控制... 我尝试添加完整的单元测试,但不能保证涵盖所有情况。

此模块绝不能在生产环境中安装。