Symfony 4 AbstractController问题与参数计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony 4 AbstractController问题与参数计数相关的知识,希望对你有一定的参考价值。
我正在尝试在Symfony 4中编写API。在尝试将DependencyInjection用于我创建的服务API类时,我遇到了控制器方法的问题。我已经尝试了几种不同的方法来编写代码,但无法弄明白。
https://symfony.com/doc/current/components/dependency_injection.html
我可以创建一个getNext()(而不是下面的get())方法,代码将按预期运行,但如果我尝试使用get()方法,我将收到一个错误。这些是涉及的基本课程。大多数代码已被删除。
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使用一个接口来定义具有特定数量的参数和返回类型的get()方法。如果您不想覆盖它的get方法(我不建议这样做),您必须编写它以使其与界面中的定义兼容。
http://php.net/manual/en/language.oop5.interfaces.php
以上是关于Symfony 4 AbstractController问题与参数计数的主要内容,如果未能解决你的问题,请参考以下文章
将 ngModel 模板引用变量作为 AbstractControl 传递给输入变量
元素隐含地具有“任何”类型,因为类型“AbstractControl”没有索引签名。您的意思是调用“get”吗?ngtsc(7052)
从 Symfony 3.4 升级到 4:升级 symfony 时出错