php bin/console server:run 8000
, где 8000 - это порт, который он будет слушать.composer require symfony/web-server-bundle --dev
1. Вы можете реализовать свой гидратор (hydrator). Гидраторы как раз и занимаются созданием сущностей. Только официальной документации по созданию гидраторов нет. Есть это: https://www.doctrine-project.org/projects/doctrine...
Есть еще старая статья: https://techpunch.co.uk/development/create-custom-...
И статья про гидраторы от Marco Pivetta: https://ocramius.github.io/blog/doctrine-orm-optim...
2. Вы можете подписаться на событие postLoad: https://www.doctrine-project.org/projects/doctrine... и бросать исключение сразу же после создания объекта.
Но, на мой взгляд подобное решение приведет к плохим последствиям т.к. исключение будет бросаться в самых неожиданных местах. Как вы будете его обрабатывать?
Лучше локализуйте проблему там, где она возникает, бросая исключения в коде, не допускающем null-значений:
В самой же БД они уже должны быть валидны. И ваша проблема не в Doctrine и отсутствии валидации, а в том, что в БД невалидные данные. Бороться надо с этим.
Сделайте в БД поле NOT NULL и пусть индусы не кладут туда его. Или же, если не можете, сделайте сущность, которая может работать с NULL.