我正在使用PHPStorm IDE。我有一个方法从我的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
*/
但不幸的是,这不起作用。是否必须为每个变量编写一个getter和setter,或者这可以通过任何PHPDoc方式完成?
任何帮助将不胜感激。
由于
答案 0 :(得分:2)
基本规则是:
@return
声明说,如果您的对象是临时创建的,那么您无能为力。您可能需要为代码完成创建一个空类。 e.g:
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';
...
答案 1 :(得分:0)
我不确定PHPStorm,但Netbeans接受管道标志:
/**
*
* @return A|B
*/