Это ваша задача этого не допускать. Если вы это допустили, ошибки Doctrine - это меньшее, что может вылезти.
Ну так может быть стоит привести схему и сущность с маппингом в соответствие друг другу, а не отстреливать симптомы?
Решается это так:public function getName(): ?string
Я сначала было хотел вам предложить валидировать данные на входе в сущность (конструктор)
вы вообще используете Doctrine очень странно и ждёте, что сама Doctrine будет вам предоставлять средства для ухода от возникающих проблем.
Первое и самое важное: Doctrine - это Data Mapper. Если у вас маппинг и сущность не соответствуют схеме - работать ничего нормально не будет. Лечите заболевание, а не симптомы.
php generator.php
require __DIR__ . '/vendor/autoload.php';
use Wsdl2PhpGenerator\Config;
use Wsdl2PhpGenerator\Generator;
(new Generator())->generate(new Config([
'inputFile' => 'http://lk-test.cse.ru/1c/ws/web1c.1cws?wsdl', // Путь к wsdl
'outputDir' => 'Web1c', // Папка, в которой будут все автосгенерированные классы
'classNames' => '',
'namespaceName' => 'Web1c', // Неймспейс
'verbose' => false,
'operationNames' => '',
'soapClientClass' => '\SoapClient',
'soapClientOptions' => [
'trace' => 1,
'exceptions' => true,
'soap_version' => SOAP_1_2,
'cache_wsdl' => WSDL_CACHE_NONE,
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
],
]));
echo 'done!';
2) Если Symfony 3.x и нужен сервис в контроллерах, то можно использовать Param Resolver:
3) Можно написать свой бридж на более мощный контейнер, например Laravel, в этом случае надо в обязательном порядке наследоваться от симфонёвого (чёртова симфонёвая кодогенерация) и зарегистрировать его внутри AppKernel (там есть метод получения класса контейнера).
А чего тогда говорят что нода, например синхрон, а пхп нет?
Если не трудно, взгляните файл server.php , там синхрон или нет? Насколько я понял - нет, там все по "очередям" идет
так как РНР не строготипизированный язык, и данная переменная может (неожиданно) стать булиневой или вобще массивом
Проблема в том, что БД с кривой схемой и невалидными данными - это данность.
Мне нужно решить задачу, изменение условия задачи вне моих полномочий.
Если бы меня устраивал один из этих вариантов - я бы этот вопрос не задавал. Но я хочу найти третий.