phpForm PHPDoc@+;语法无法定义相同类型的多个变量

phpForm PHPDoc@+;语法无法定义相同类型的多个变量,php,phpstorm,phpdoc,Php,Phpstorm,Phpdoc,我正在PHPStorm上使用大型模型。我正在尽量减少注释 我想把这个 Class Stack { /** @var string */ public $foo; /** @var string */ public $bar; /** @var int */ public $foobar; } 为此: Class Stack { /** @var string */ //for both vars public $foo;

我正在PHPStorm上使用大型模型。我正在尽量减少注释

我想把这个

Class Stack 
{
    /** @var string */
    public $foo;
    /** @var string */
    public $bar;
    /** @var int    */
    public $foobar;
}
为此:

Class Stack 
{
    /** @var string */ //for both vars
    public $foo;
    public $bar;
    /** @var int    */
    public $foobar;
}
我找到了定义多个变量的语法,但似乎不起作用。也许有解决办法

多谢各位

顺便问一下,我能告诉phpstorm吗 $this->MyModel是MyModel类型吗?比如:

/** @var $this->MyModel MyModel **/
$this->MyModel

因为CodeIgniter将您的所有模型放在控制器的一个参数中。

恐怕我还没有看到任何IDE知道如何识别/*.@+/的docblock模板语法

至于$this->MyModel,您可以尝试在使用$this->MyModel的类上使用@property标记

尽管据报道,一些IDE可以识别@var语法来设置局部变量的数据类型:

/** @var \MyModel $model */
$model = $this->MyModel;

我认为这样的类属性不适用。

恐怕我还没有见过任何IDE知道如何识别/*.@+/的docblock模板语法

至于$this->MyModel,您可以尝试在使用$this->MyModel的类上使用@property标记

尽管据报道,一些IDE可以识别@var语法来设置局部变量的数据类型:

/** @var \MyModel $model */
$model = $this->MyModel;

我认为这样的类属性不适用。

为什么不能在类的PHPDoc块中用@property声明它

/**
 * @property myModel MyModelClass
 */
class Test
{}

$t = new Test();
$t->myModel->[CTRL+Space will return available methods];
无论如何,最好在类中手动声明属性。让它透明

对对象使用组注释真的很奇怪。我还没有做过这样的练习。 但请随意使用类似的代码:

/**#@+
 * Test
 *
 * @var int
 */
protected $_aa = 1;
protected $_aa2 = 2;
/**#@-*/

为什么不能在类的PHPDoc块中用@property声明它

/**
 * @property myModel MyModelClass
 */
class Test
{}

$t = new Test();
$t->myModel->[CTRL+Space will return available methods];
无论如何,最好在类中手动声明属性。让它透明

对对象使用组注释真的很奇怪。我还没有做过这样的练习。 但请随意使用类似的代码:

/**#@+
 * Test
 *
 * @var int
 */
protected $_aa = 1;
protected $_aa2 = 2;
/**#@-*/