编辑这是 Psalm 的事情,而不是 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 Psalm 没有看到我已经确认这$identifier
是一个字符串,然后将它作为参数传递给其中一个vehicleService
方法并抛出PossiblyInvalidArgument
错误,因为Argument 1 ... expects string, possibly different type array<array-key, string>|null|string provided
.
如何确保 PHP MD 这是一个字符串?