ParameterBagInterface::get() with ServiceSubscriberInterface
还没有人认领这个 Issue。
评估
调研方向
Start by reproducing the example around ParameterBagInterface::get(), ContainerInterface::get(), and ServiceSubscriberInterface::getSubscribedServices(). Trace how the Symfony extension infers the service type from the subscription, then verify that the container-provided parameter bag reports the expected string return type for get('kernel.project_dir').
由索引模型根据 Issue 内容生成。
描述
Hello,
Since #192 (fix #191), the return type for ParameterBagInterface::get() works with dependency injection but not with ServiceSubscriberInterface :
namespace App\Issue;
use Psr\Container\ContainerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Contracts\Service\ServiceSubscriberInterface;
class Issue implements ServiceSubscriberInterface
{
public function __construct(protected ContainerInterface $container, protected ParameterBagInterface $parameterBag)
{
}
public function test(): void
{
$parameterBagFromConstructor = $this->parameterBag;
// Expected: Dumped type: Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface
// Observed: Dumped type: Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface
\PHPStan\dumpType($parameterBagFromConstructor);
$parameterBagFromContainer = $this->container->get(ParameterBagInterface::class);
// Expected: Dumped type: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag
// Observed: Dumped type: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag
\PHPStan\dumpType($parameterBagFromContainer);
$parameterFromConstructor = $parameterBagFromConstructor->get('kernel.project_dir');
// Expected: Dumped type: string
// Observed: Dumped type: string
\PHPStan\dumpType($parameterFromConstructor);
$parameterFromContainer = $parameterBagFromContainer->get('kernel.project_dir');
// Expected: Dumped type: string
// Observed: Dumped type: array|bool|float|int|string|UnitEnum|null
\PHPStan\dumpType($parameterFromContainer);
}
public static function getSubscribedServices(): array
{
return [
ParameterBagInterface::class,
];
}
}
Is there a solution for add the support of ParameterBagInterface::get() with ServiceSubscriberInterface ?
Thanks
- 主要语言
- PHP
- 星标
- 806
- 派生
- 104
- 平均合并
- 1 小时 43 分钟
- 30 天内合并 PR
- 3
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
phpstan/phpstan-symfony 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
phpstan/phpstan-symfony#510 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
phpstan/phpstan-symfony#494 · 5 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
phpstan/phpstan-symfony#268 ·
-
Account for `\ErrorException` from `unserialize()` when Symfony’s PHP error conversion is enabled未关闭
难度 3/5 1-2 天 新手友好度 45/100
phpstan/phpstan-symfony#514 · 2 条评论 ·
-
难度 5/5 一周以上 新手友好度 35/100
phpstan/phpstan-symfony#509 · 2 条评论 ·
查看 phpstan/phpstan-symfony 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
-
0. Needs triage 36-feedback bug
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
area:ci priority:low type:chore
难度 2/5 1-3 小时 新手友好度 78/100
crazy-goat/php-fpm-ng#1021 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
ProfessionalWiki/NeoWiki#1755 ·
维护者通常 1 天内回复