我有这个控制器
namespace InicioBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use EntidadesBundle\Entity\Usuarios;
use Symfony\Component\HttpFoundation\Session\Session;
class DefaultController extends Controller
{
private $session;
public function __construct(){
$this->session = new Session();
}
.....
public function ver_rol($rol){
if($this->sacarRol() === $rol){
return true;
}else{
return false;
}
}
}
在 services.yml 中,我得到了这个:
parameters:
#parameter_name: value
services:
app.rolSession:
class: InicioBundle\Controller\DefaultController
arguments: ["i dont know how get paramets"]
问题是它不起作用,symfony返回错误FileLoaderLoadException,表示services.yml没有实现有效的YAML
答案 0 :(得分:0)
parameters:
文件中services.yml
之前有一个空格,可能会将其删除,您的yaml应该有效。
此外,如果您没有向构造函数传递任何参数,则只需删除arguments: ["null"]
还有一件事,IIRC你需要添加FQCN作为类名,所以class: InicioBundle\Controller\Default
=> class: InicioBundle\Controller\DefaultController
当我们在主题中时,您可以在操作中键入提示请求并将其用于getSession()或者可以向您的控制器注入@session
服务