- Issue created by @megachriz
\Drupal\feeds\Plugin\Type\PluginBase has a few methods that are calling a Drupal service. These methods are:
linkGenerator()urlGenerator()These methods are called only within the same class by these methods respectively:
l()url()l() is nowhere called in the Feeds code base and url() is only called once by \Drupal\feeds\Feeds\Processor\EntityProcessorBase::entityValidate().
Finally, to support access to these services, there is a method called container() which calls \Drupal::getContainer().
Since the low usage and since this doesn't use dependency injection, I think we should deprecate all 5 methods. The method container() is private, so should never be called outside of the class, but I think it's handy to deprecate anyway to not forget to remove it in the future.
Deprecate the following methods from \Drupal\feeds\Plugin\Type\PluginBase:
l()url()linkGenerator()urlGenerator()container()And make sure that \Drupal\feeds\Feeds\Processor\EntityProcessorBase::entityValidate() is updated.
Code example:
@trigger_error(__METHOD__ . '() is deprecated in feeds:3.0.0-rc1 and is removed from feeds:4.0.0. There is no replacement. See https://www.drupal.org/node/xxx', E_USER_DEPRECATED);
'xxx' should be the node ID of the change record.
None.
From the class \Drupal\feeds\Plugin\Type\PluginBase, the methods l(), url(), linkGenerator(), urlGenerator() and container() will be deprecated.
None.
Active
3.0
Code