php - Symfony 4 错误:服务中未使用的绑定“$projectDir”
问题描述
从 Symfony 3.4 更新到 4.1 时,当我 php bin/console 时,出现以下错误。
我想以 url 引用方式获取参数。
原因是什么?
https://symfony.com/blog/new-in-symfony-4-1-getting-container-parameters-as-a-service
错误代码
Unused binding "$projectDir" in service "common.parameterService".
配置/服务.yaml
parameters:
parameter_name: XXX
services:
_defaults:
autowire: false
autoconfigure: false
public: false
bind:
$projectDir: '%kernel.project_dir%'
common.parameterService:
class: AppBundle\Model\Service\ParameterService
arguments: [ "@service_container" ]
AppBundle/Model/Service/ParameterService.php
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use AppBundle\Model\Service\BaseService;
/**
*
*/
class ParameterService extends BaseService
{
private $params;
public function __construct(ParameterBagInterface $params)
{
$this->params = $params;
}
/**
*
* @param string
* @return mixed
*/
public function getParameter()
{
return $this->params->get('parameter_name');
}
解决方案
这意味着您已经声明了这一点:
bind:
$projectDir: '%kernel.project_dir%'
$projectDir
但没有在ParameterService
该文件的任何其他服务中注入。
您可以删除这两行:
bind:
$projectDir: '%kernel.project_dir%'
推荐阅读
- excel - 交叉引用 2 个不同的列,然后将值计数放在另一个表中
- excel - 如何在电源查询(Excel 或 Power BI)中获取最近 4 周的日期
- wordpress - 在 wordpress plus elementor 中创建带有帖子标题和网站徽标的动态特色图像
- java - 为 Spring Boot Controller 调用的特定方法设置超时
- excel - Excel 下拉框可以作为带有多选复选框的列表框吗?
- java - Java:根据数组大小设置不同的对象字段
- flutter - 如何在 qr_flutter 中添加文件图像以生成带有嵌入图像的二维码?
- ios - 在没有 Timer 的情况下播放核心动画时如何自动更新 UISlider 的值
- sympy - 如何更改 sympy 向量的乳胶名称?
- jpa - AttributeConverter 在 EclipseLink 中不工作,在 Hibernate 中工作正常