参数计数的 Symfony 4 AbstractController 问题
Symfony 4 AbstractController Issue with Parameter Count
我正在尝试在 Symfony 4 中编写一个 API。当我尝试对服务使用 DependencyInjection 时,我的控制器方法遇到了问题 API class 我创建。我已经尝试了几种不同的方法来编写代码,但无法弄清楚。
https://symfony.com/doc/current/components/dependency_injection.html
我可以制作一个 getNext()(而不是下面的 get())方法,代码将按预期运行,但如果我尝试使用 get() 方法,我将收到错误消息。这些是涉及的基本 classes。大部分代码已被删除。
class AppointmentController extends AbstractController
{
/**
* @Route("/appointment/getNext", name="appointment/getNext")
*
*/
public function get(string $id = null, CernerFhir $fhirApi)
{
$request = Request::createFromGlobals();
...more code...
}
}
class CernerFhir
{
public function __construct(LoggerInterface $logger, ParameterBagInterface $params)
{
$this->logger = $logger;
$this->params = $params;
}
}
}
警告:App\Controller\AppointmentController::get(?string $id, App\Service\CernerFhir $fhirApi) 的声明应该与 Symfony\Bundle\FrameworkBundle\Controller\AbstractController::get(string $id)
AbstractController 使用一个接口来定义具有特定数量参数和 return 类型的 get() 方法。如果你不想覆盖它的 get 方法(我不推荐),你必须编写它以使其与接口中的定义兼容。
我正在尝试在 Symfony 4 中编写一个 API。当我尝试对服务使用 DependencyInjection 时,我的控制器方法遇到了问题 API class 我创建。我已经尝试了几种不同的方法来编写代码,但无法弄清楚。
https://symfony.com/doc/current/components/dependency_injection.html
我可以制作一个 getNext()(而不是下面的 get())方法,代码将按预期运行,但如果我尝试使用 get() 方法,我将收到错误消息。这些是涉及的基本 classes。大部分代码已被删除。
class AppointmentController extends AbstractController
{
/**
* @Route("/appointment/getNext", name="appointment/getNext")
*
*/
public function get(string $id = null, CernerFhir $fhirApi)
{
$request = Request::createFromGlobals();
...more code...
}
}
class CernerFhir
{
public function __construct(LoggerInterface $logger, ParameterBagInterface $params)
{
$this->logger = $logger;
$this->params = $params;
}
}
}
警告:App\Controller\AppointmentController::get(?string $id, App\Service\CernerFhir $fhirApi) 的声明应该与 Symfony\Bundle\FrameworkBundle\Controller\AbstractController::get(string $id)
AbstractController 使用一个接口来定义具有特定数量参数和 return 类型的 get() 方法。如果你不想覆盖它的 get 方法(我不推荐),你必须编写它以使其与接口中的定义兼容。