【问题标题】:Phpdoc documentation with php activerecord带有 php activerecord 的 Phpdoc 文档
【发布时间】:2015-03-06 13:13:42
【问题描述】:

我现在使用php-activerecord 有一段时间了,我非常喜欢它。 php-activerecord 是一个基于ActiveRecord 模式的开源ORM 库。但是,我也喜欢 phpdoc 并用它来记录我的代码。因此,我的同事很容易理解我构建的平台。但是使用 php-activerecord 我的模型类现在看起来像这样:

/**
 * The Company class.
 *
 * @since 1.0.0
 *
 */
class Company extends \ActiveRecord\Model
{
    /** explicit table name since our table is not "company"  */
    static $table_name = 'Company';

    /** explicit pk since our pk is not "id" */
    static $primary_key = 'companyId';
}

他们工作,但他们过去看起来像这样:

/**
 * The Company class.
 *
 * @since 1.0.0
 *
 */
class Company extends \ActiveRecord\Model
{
    /** @var integer The company id. */
    private $companyId;

    /** @var string The company name. */
    private $name;
}

长话短说

使用 php-activerecord 时,无法记录我的模型属性和更新 phpdoc。我希望能够做到这一点,我应该往哪个方向看?

【问题讨论】:

    标签: php activerecord orm phpdoc phpactiverecord


    【解决方案1】:

    您可以将所有“神奇”属性记录为@property!假设您有一个包含字段“id、name、location”的表“Company”,您最终会得到:

    **
     * @property int $id
     * @property string $name
     * @property string $location
     */
    class Company extends \ActiveRecord\Model 
    {
    
    }
    

    你可以看到in the documentation 还有一些其他的技巧,比如“property-read”。我将它们用于您可能拥有的任何连接,例如,您可以读取 has-one,但无法将模型写入这些连接。

    因此,如果公司有您定义为$employees 的员工,您可以添加

    * @property-read Employee[] $employees
    

    等等。

    【讨论】:

    • 这看起来很棒,我要试试这个 :-) 不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2011-12-05
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多