Документация Phpdoc с php activerecord

я использую PHP-ActiveRecord на короткое время, и я очень люблю это. Php-activerecord — это ORM-библиотека с открытым исходным кодом, основанная на ActiveRecord шаблон. Впрочем, мне тоже нравится PHPDoc и использовать это для документирования моего кода. Поэтому моим коллегам легко понять, какую платформу я строю. Но с использованием php-activerecord мои классы Model теперь выглядят так:

/**
* 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. Я хочу быть в состоянии сделать это, в каком направлении я должен смотреть?

1

Решение

Вы можете задокументировать все свои «волшебные» свойства как @property! Допустим, у вас есть таблица «Компания» с полями «id, name, location», в результате вы получите:

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

}

Ты можешь видеть в документации что есть некоторые другие приемы, такие как «чтение свойств». Я использую их для любых соединений, которые у вас могут быть, например, вы можете прочитать has-one, но не можете писать модели для этих соединений.

Так что если в компании есть сотрудники, которых вы определили как $employees, вы можете добавить

* @property-read Employee[] $employees

и так далее.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]