@RS-qrsk

Как не попадать на исключения при returned NULL?

Знающие люди, подскажите пожалуйста.
Как не попадать на исключения симфони , если код в репозитории, например
$this->em->getRepository(Test::class)->findOneBy(['test' => $test]);

вернул NULL, а у тебя в контроллере уже прописанные геттеры, а они в свою очередь уже определенны в переменных на рендеринг в twig?

Получается, мне нужно в контроллере проверить на NULL, и если истина, то в переменные на рендеринг определить пустые строки и массивы? Или как быть?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
Nordic_Alf
@Nordic_Alf
PHP Developer
Проверки вводи и всё, хош в php, хош в твиге и не будут ошибки вылетать
$test = $this->em->getRepository(Test::class)->findOneBy(['test' => $test]);

if (!empty($test)) {
   $name = $test->getName();
   $surname = $test->getSurname();
}

return $this->render('test/index.html.twig', [
   'test' => $test,
   'name' => $name ?? null,
   'surname' => $surname ?? null
]);

// в твиге
{% if test is not null %}
   <div>{{ test.name }}</div>
   <div>{{ test.surname }}</div>
{% endif %}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI
$project = $projectRepository->find($project_id);

    if (!$project instanceof Project) {
         throw new NotFoundException("Project not found", "project_not_found");
    }
  
   // Здесь совершенно точно буддет объект.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы