我想为我在 Symfony 中的所有控制器创建一个基本控制器类,我对 Symfony 很陌生,所以不要对愚蠢的问题生气。我问这个问题是因为我不能做这样的事情
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AbstractController extends Controller
{
public function __construct()
{
//...... check access level
$user = $this->getUser(); //This is not working, I don't have access to the Controller(the base class) properties
}
}
现在我的控制器之一
class UserController extends AbstractController
{
public deleteUserAction(Request $request)
{
var_dump($this);// this will dump an empty class that is not instance of Symfony\Bundle\FrameworkBundle\Controller\Controller
//.... delete user
}
}
做这个的最好方式是什么?请...编辑....我真正想做的是检查用户权限级别是否足以访问特定控制器(例如UserController)中的特定操作(例如deleteUserAction()),我有一个类将特权级别附加到所有控制器中的所有操作。UserController->deleteUserAction()
如果检查发生在之前执行但在基本控制器中我无权访问 $this的父控制器(例如 BaseController 的构造函数)中,检查将非常有效。我已经尝试过选民和 ACL,但对我的情况没有帮助。提前致谢。