Symfony - вызов валидации classl с использованием переменных - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь выполнить проверку в Symfony, используя переменные, как показано ниже

 $call= 'Assert\\'.$k2;
                    //echo $k2.'-'.$item;
                    echo $call;
                   //exit;
                    $arrayConstraint = new $call($item);
                    //$arrayConstraint = new Assert\NotBlank(null);
                    $errors = $this->get('validator')->validate(
                        $arr_item,
                        $arrayConstraint
                    );

Этот код выдает ошибку:

Попытка загрузить класс "NotBlank" из пространства имен "Assert".Вы забыли выражение "use" для "Symfony \ Component \ Validator \ Constraints \ NotBlank"?

В то время как я использую правильное пространство имен (im включая класс сверху).

Whenevrя раскомментирую эту строку

 $arrayConstraint = new Assert\NotBlank(null);

и прокомментирую

//$arrayConstraint = new $call($item);

, она прекрасно работает.Я думаю, это как-то связано с вызовом классов с использованием переменных.Есть идеи для обхода?Любая помощь будет высоко оценена

1 Ответ

0 голосов
/ 25 мая 2018

Наконец я сделал это, добавив в переменную весь путь (пространство имен).

$call= "Symfony\\Component\\Validator\\Constraints\\".$k2;

Теперь это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...