Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony验证速度慢_Php_Performance_Validation_Symfony - Fatal编程技术网

Php Symfony验证速度慢

Php Symfony验证速度慢,php,performance,validation,symfony,Php,Performance,Validation,Symfony,为了验证请求,我很难找出我在symfony中做错了什么 我有一个控制器,通过POST请求接收用户 public function createAction(Request $request) { $params = $request->request->all(); $user = new User(); $user->setUsername($params['username']); $user->setEmail($params['em

为了验证请求,我很难找出我在symfony中做错了什么

我有一个控制器,通过POST请求接收用户

public function createAction(Request $request)
{
    $params = $request->request->all();
    $user = new User();
    $user->setUsername($params['username']);
    $user->setEmail($params['email']);
    $user->setPassword($params['password']);

    $errors = $this->get('validator')->validate($user);

    if(count($errors) > 0)
    {
        return $this->respond(['errors' => $errors], 422);
    }
    else 
    {
        $user = $this->get('userrepository')->create($user);
        return $this->respond($user, 201);
    }
}
如您所见,我首先创建用户,然后将其传递给验证器服务并返回错误(如果有),否则我要求存储库在数据库中创建用户

我使用的验证如下(YAML):

现在验证工作正常了,但Symfony需要大约3000毫秒才能在
dev env
中用空数据库做出响应

导致响应时间过长的原因可能是什么

其他未经验证的GET/POST请求只需250-300毫秒即可完成

PS:我尝试将验证规则作为注释放入实体中,但响应时间没有差异。

供将来参考:

我的问题是使用
/web/app\u dev.php/…
来访问symfony,而不是在开发中使用内置服务器


$php应用程序/控制台服务器:运行

尝试在没有唯一实体约束的情况下进行测试。我尝试了,但它对响应时间影响不大(可能是50毫秒)。所以,这似乎不是造成隔阂的原因。你能用blackfire.io来分析你的请求吗?不确定我是否能,还有其他方法可以分析吗?
AppBundle\Entity\User:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
    properties:
        username:
            - NotBlank: ~
        email:
            - NotBlank: ~
            - Email:
                message: The email {{ value }} is not a valid email.
        password:
            - NotBlank: ~