升级到Symfony 4.3后,我收到以下22个弃用警告:
不建议使用用户:自版本4.3起不推荐使用Symfony \ Bundle \ TwigBundle \ Loader \ FilesystemLoader类,并将在5.0版中将其删除。使用Twig表示法代替模板。
用户已弃用:“ templating.locator” 服务自Symfony 4.3起已弃用,并将在5.0中删除。
不推荐使用用户:自版本4.3起,不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ Loader \ TemplateLocator类,并将在5.0版中将其删除。改用Twig。
不建议使用用户:“ templating.name_parser” 服务自Symfony 4.3起已弃用,并将在5.0中删除。
不推荐使用的用户:自版本4.3起,不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ TemplateNameParser类,并将在5.0版中将其删除。改用Twig。
不推荐使用用户:从4.3版开始不推荐使用“模板化” 服务,该服务将在5.0版中删除;改用Twig。
不推荐使用用户:自版本4.3起不推荐使用Symfony \ Bridge \ Twig \ TwigEngine类,并将在5.0版中将其删除。请改用\ Twig \ Environment。
不推荐使用用户:自版本4.3起不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ EngineInterface接口,并将在5.0版中删除它;改用Twig。
不推荐使用用户:自版本4.3起,不推荐使用Symfony \ Bundle \ TwigBundle \ TwigEngine类,并将在5.0版中将其删除。请改用\ Twig \ Environment。
2次:“ framework.templating” 配置自Symfony 4.3起不推荐使用。改为配置Twig捆绑包提供的“ twig” 部分。
从4.3版开始,不再使用启用模板组件,并且将在5.0版中将其删除;改用Twig。
“ templating.cache_warmer.template_paths” 服务自Symfony 4.3起已弃用,并将在5.0中删除。
自版本4.3起,不推荐使用Symfony \ Bundle \ FrameworkBundle \ CacheWarmer \ TemplatePathsCacheWarmer类,并将在5.0版中将其删除。改用Twig。
“ templating.finder” 服务自Symfony 4.3起已被弃用,并将在5.0中删除。
从版本4.3开始,不推荐使用Symfony \ Bundle \ FrameworkBundle \ CacheWarmer \ TemplateFinder类,并将在5.0版本中将其删除。改用Twig。
从版本4.3开始,不推荐使用Symfony \ Bundle \ FrameworkBundle \ CacheWarmer \ TemplateFinderInterface接口,并将在5.0版本中将其删除;改用Twig。
“ templating.locator” 服务自Symfony 4.3起已弃用,并将在5.0中删除。
从版本4.3开始,不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ Loader \ TemplateLocator类,并将在5.0版中将其删除;改用Twig。
从版本4.3开始,不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ TemplateReference类,并将在5.0版中将其删除。改用Twig。
自Symfony 4.3起,不推荐使用“ templating.name_parser” 服务,并将在5.0中将其删除。
从版本4.3开始不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ TemplateNameParser类,并将在5.0版中将其删除。改用Twig。
答案 0 :(得分:8)
这是由于不赞成使用模板组件,请参见https://symfony.com/blog/new-in-symfony-4-3-deprecated-the-templating-component-integration
解决方案:
"symfony/templating"
移除composer.json
framework.yaml
中删除它:
templating:
engines:
- twig
composer update
这应删除所有弃用警告。
如果您遇到此错误
无法自动装配服务“ ...”:方法“ __construct()”的参数“ $ templating”引用接口“ Symfony \ Bundle \ FrameworkBundle \ Templating \ EngineInterface”,但不存在这样的服务。您是否创建了实现此接口的类?
...您仍在某些服务中使用旧模板。
解决方案:将依赖项从Symfony\Bundle\FrameworkBundle\Templating\EngineInterface
更改为Twig\Environment
:
use Twig\Environment;
private $twig;
public function __construct(Environment $twig)
{
$this->twig = $twig;
}