Problem/Motivation

Add object that uses the FactoryInterface should have dependencies inject via ::create and not ::__construct(). This allows parent classes to change their constructor without breaking any code.
See https://events.drupal.org/seattle2019/sessions/drupal-9-coming-getting-y...
See https://www.drupal.org/core/d8-bc-policy

Example: \Drupal\config_sync\Controller\ConfigSyncController::create
See https://www.youtube.com/watch?time_continue=1554&v=hN9KjaBvAUk
See https://www.previousnext.com.au/blog/safely-extending-drupal-8-plugin-cl...

Proposed resolution

Fix subclassing and stop overriding constructors.

Comments

thalles created an issue. See original summary.

thalles’s picture

Follow a patch

megachriz’s picture

Good idea, but let's make the dependency on PluginFormFactory slightly more explicit.

  • MegaChriz committed 80a0344 on 8.x-3.x
    Issue #3113521 by MegaChriz, thalles: Fixed subclassing and stop...
megachriz’s picture

Status: Needs review » Fixed

Committed #3. Thanks for contributing, Thalles.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.