我正在使用YII并且已经为我的所有模型自由设置了@property
phpdoc语句。
在我的IDE(phpstorm)中,我可以使用Control + Click方法和字段来实现它们的实现,但是当我这样做的魔术方法时,它会把我带到类定义的顶部,这是不正确的。< / p>
如何设置它以便我使用相关的getter方法?
答案 0 :(得分:1)
我理解
@property
和@method
方法标记仅允许在类级docblock中使用。这些标记中的任何一个都向开发人员提供有关通过megic方法__call($method,$params)
实现的方法/属性的可用性的提示, __get($var)
和__set($var,$val)
。
在yii中,您不需要为类属性显式定义getter / setter方法。因此,属性是通过'get'.$attributeName
e.g
/**
* 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