4

我正在使用 YII,并@property为我的所有模型自由地设置了 phpdoc 语句。

在我的 IDE (phpstorm) 中,我可以 Control + Click 方法和字段被带到它们的实现中,但是当我为魔术方法这样做时,它会将我带到类定义的顶部,这是不正确的。

如何设置它以便将我带到相关的 getter 方法?

4

1 回答 1

1

我的理解是

@property@method 方法标签只允许在类级别的文档块中。这两个标签都向开发人员提供了有关通过 megic 方法实现的方法/属性的可用性的提示__call($method,$params)__get($var)__set($var,$val).

在 yii 中,您不需要为类属性显式定义 getter/setter 方法。所以一个属性是通过 'get'.$attributeName例如访问

 /**
 * Class User
 *
 * @method string getFirstName()
 * @method void setFirstName(string $firstName)
 *
 */
class User extends CModel{
    var $firstName;
}

$u= new User();
$username=$u->getFirstName();
$u->setFirstName('Testuser');

在 Yii 的上下文中,上面的代码是真正的 'get'.$attributeName 调用属性魔法方法的 bcz。

由于@property并且@method 是班级级别的@tags,您唯一的选择是将它们添加到班级,然后按Ctrl +单击将焦点发送到相应班级docblock

于 2013-10-01T12:51:48.087 回答