我正在尝试使用 phpDocumentor 生成我的 Laravel 包文档,但我发现生成面向使用的文档并不像我想的那样容易。
我的意思是:我应该如何编写 docblocks 以正确让 php 文档或生成我的模型文档?应该如何为 eloquent 和 laravel 的特定功能编写 docblock?
例如,目前在我的一个模型中,我使用@ignore
class $timestamps
、和properties 以及附加属性的所有访问器进行了标记,并使用标记在类级别添加了模型$fillable
属性:$appends
$casts
@property
/**
* @property string $a
* @property float $b
* @property-read bool $c
* @property-read bool $d
*/
class MyModel extends Model
{
/** @ignore */
public $timestamps = false;
/** @ignore */
protected $fillable = [
'a',
'b',
];
/** @ignore */
protected $appends = [];
/** @ignore */
protected $casts = [];
/** @ignore */
public function getCAttribute(): bool
{
// return something
}
/** @ignore */
public function getDAttribute(): bool
{
// return something
}
}
这会生成更简单的文档,因为它从如何使用模型的角度显示/解释模型。
范围和关系出现问题:我应该如何为这些(实际上)方法编写文档块?
关系通常用作属性,期望它们返回模型或集合,但如果需要添加条件并期望返回关系实例,则可以再次用作函数。
范围仍然用作函数,但使用不同的签名调用,因为第一个参数是从框架注入的,甚至名称也不同。
有没有关于这种情况的约定?