РЕДАКТИРОВАТЬ Это псалом, а не PHP MD.
Я пишу Symfony консольную команду. В его методе execute
я получаю аргумент с помощью метода $input->getArgument('argument_name')
. И я передаю это значение службе, которая ожидает, что это значение будет иметь строковый тип.
Общий код:
protected function execute(InputInterface $input, OutputInterface $output)
{
if (is_string($input->getArgument('identifier'))) {
$identifier = $input->getArgument('identifier');
} else {
return 2;
}
if ($input->getArgument('mode') === "vehicle") {
$this->vehicleService->getVehicleInfo($identifier);
return null;
}
if ($input->getArgument('mode') === "company") {
$this->vehicleService->getCompanyVehiclesInfo($identifier);
return null;
}
return 1;
}
PHP MD Псалом не не вижу, что я подтвердил, что $identifier
является строкой, прежде чем передать ее в качестве аргумента одному из vehicleService
методов и выдает ошибку PossiblyInvalidArgument
, потому что Argument 1 ... expects string, possibly different type array<array-key, string>|null|string provided
.
Как я могу PHP MD гарантирует, что это строка?