【问题标题】:Define new properties of a class in phpDoc after dynamically add new property to the class动态添加新属性到类后,在phpDoc中定义类的新属性
【发布时间】:2018-07-20 12:21:52
【问题描述】:

例如,我有一个名为“学生”的 Eloquent 模态

$student = Student::first();

我们可以像这样向这个变量添加 PHP 文档注释。

/**
* @var Student $student
*/
$student = Student::first();

在 Eloquent modals 中,我们可以在运行时设置新属性

$student->setAttribute('is_a_good_boy', true);

现在,有没有办法将此动态属性添加到 phpDOc 中?

【问题讨论】:

    标签: php phpdoc


    【解决方案1】:

    是的,您可以为此目的使用@property 标签。例如:

    /**
     * @property boolean $is_a_good_boy
     */
    class Student {
    
    }
    

    【讨论】:

    • 该属性并不总是在类中。仅在调用该函数之后。
    • PHPDoc 本质上是静态定义,而不是动态的。您的问题是关于在 PHPDoc 中定义“神奇”定义的属性的方法,@property 标记就是为此目的。 PHPDoc 只是为 PHP 代码定义元数据,它对运行时一无所知。
    • 我猜你是对的。没有办法归档我的目标。我正在寻找一种方法的唯一原因是,我的 IDE 使用 doc cmets 帮助我完成代码和建议。
    • 是的,这就是我们通常定义这些 PHPDoc 块的原因。可以定义这些 @property 以帮助 IDE 更好地了解您的代码,并且您可以为人类留下额外的 cmets,以便他们知道某些特定属性不是永久定义的。
    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 2015-10-23
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多