我非常喜欢将当前用户作为参数插入Controller方法中的特性。不过有一件事我不太确定。如果在Controller操作中插入当前用户,如下所示:
public function myAction(UserInterface $currUsr)
{
$id = $currUsr->getId();
$email = $currUsr->getEmail();
}
字符串
我不能知道对象$currUsr
实际上有方法getId()
和getEmail()
,因为Symfony\Component\Security\Core\User\UserInterface
没有这些方法的定义。
那么,字体提示的意义何在......?
2条答案
按热度按时间f45qwnt81#
从Symfony 5.2和PHP 8+开始,你可以用你的用户对象的正确类型来提示你的参数,并将#[CurrentUser]属性应用于参数。
字符串
bhmjp9jg2#
如果你需要更具体的类,它有那些
UserInterface
缺少的方法,你应该使用它。字符串
不需要添加docblock。