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

Title: Fix subclassing and stop overriding constructors in blazy\Plugin\Field\FieldFormatter\BlazyFilter » Fix subclassing and stop overriding constructors in blazy\Plugin\Field\FieldFormatter\BlazyTestEntityReferenceFormatterTest
thalles’s picture

gausarts’s picture

Status: Needs review » Postponed (maintainer needs more info)

Similar to my other comment here, we should consider setters. Thanks!

  • gausarts committed 4be554a on 8.x-2.x authored by thalles
    Issue #3113094 by thalles: Fix subclassing and stop overriding...
gausarts’s picture

Status: Postponed (maintainer needs more info) » Fixed

Committed with minor change to re-use existing method.

We got a release to catch up. Let's get the ball rolling. Improvements are very much welcome and may follow as always.

Committed for wider feedback. Feel free to re-open if any (side) issue. Thank you for contribution!

Status: Fixed » Closed (fixed)

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