Я работаю с IDPS PHPStorm. У меня есть метод, который выбирает несколько столбцов из моей базы данных MySQL и возвращает объект, который содержит эти значения. Есть ли возможность написать комментарий PHPDoc, тип которого указывает на конкретные значения? Так что если я наберу
self :: getCommissionFromCacheOrDb ($ provider_id, $ type, $ platform) ->
Среда IDE покажет мне несколько переменных, которые я объявил в комментарии PHPDoc над методом.
F.E. метод.
public static getValuesFromDb($provider_id){
$data = self::find()->where(['provider_id' => $provider_id,
'revision' => '0000-00-00 00:00:00',
'platform' => $platform,
'type' => $type])
->select(['commission',
'direct_commission',
'super_commission',
'super_commission_maturity',
'valid_from',
'valid_to'])
->one();
return $data;
}
Я мог бы представить себе некоторый блок PHPDoc, как
/**
* @return $direct_commission
* @return @super_commission
* @return @super_commission
* @return @valid_from
* @return @valid_to
*/
но, к сожалению, это не работает. Действительно ли необходимо писать геттер и сеттер для каждой переменной или это можно сделать любым способом PHPDoc?
Любая помощь будет оценена.
Спасибо
Основные правила:
@return
заявлениеСказал, что вы ничего не можете сделать, если ваш объект создан специально. Возможно, вам понадобится создать пустой класс только для завершения кода. например.:
class Comission{
public $commission;
public $direct_commission;
public $super_commission;
public $super_commission_maturity;
public $valid_from;
public $valid_to;
}
… а также:
/**
* @return Comission
*/
Сам PhpStorm довольно часто использует этот трюк для документирования встроенных классов и функций:
/**
* Representation of date and time.
* @link http://php.net/manual/en/class.datetime.php
*/
class DateTime implements DateTimeInterface {
const ATOM = 'Y-m-d\TH:i:sP';
const COOKIE = 'l, d-M-y H:i:s T';
...
Я не уверен насчет PHPStorm, но Netbeans принимает знак канала:
/**
*
* @return A|B
*/