Follow-up to #2490966: [Meta] Replace deprecated usage of entity_create with a direct call to the entity type class

Problem/Motivation

According to #2346261: Deprecate entity_create() in favor of a <EntityType>::create($values) or \Drupal::entityManager()->getStorage($entity_type)->create($values), entity_create() function is going to be deprecated so we shouldn't use it anymore. When the entity type is known we should directly call <EntityType>::create(). What to do when the entity type is not known or is variable is upon discussions.

Beta phase evaluation

Reference: https://www.drupal.org/core/beta-changes
Issue category Task
Issue priority Normal because it's just about code cleanup and good practices
Prioritized changes The main goal of this issue is DX, performance and removing code already deprecated for 8.0.0. (Direct calls to EntityType::create are better than generic calls to entity_create for readability)
Disruption This change is not disruptive at all as it only replaces deprecated functions call by their exact equivalent.

Proposed resolution

Replace the deprecated call to entity_create() by a proper call to <EntityType>::create().

Before:

entity_create('field_config', $field_values)->save();

After:

use Drupal\field\Entity\FieldConfig;
FieldConfig::create($field_values)->save();

Remaining tasks

Contributor tasks needed
Task Novice task? Contributor instructions Complete?
Create a patch Instructions Done
Manually test the patch Novice Instructions
Review patch to ensure that it fixes the issue, stays within scope, is properly documented, and follows coding standards Instructions

User interface changes

None.

API changes

None.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Mac_Weber created an issue. See original summary.

Mac_Weber’s picture

Status: Needs review » Needs work

The last submitted patch, 2: user-2641624-2.patch, failed testing.

Mac_Weber’s picture

Status: Needs work » Needs review
FileSize
14.34 KB

It was missing class aliasing

Mile23’s picture

Status: Needs review » Needs work
Issue tags: +Needs reroll

Patch no longer applies.

kostyashupenko’s picture

kostyashupenko’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 6: replace_deprecated-2641624-6.patch, failed testing.

heykarthikwithu’s picture

Assigned: Unassigned » heykarthikwithu

working on this.

heykarthikwithu’s picture

Assigned: heykarthikwithu » Unassigned
Status: Needs work » Needs review
FileSize
3.31 KB
heykarthikwithu’s picture

Issue tags: +@deprecated, +deprecated
naveenvalecha’s picture

Status: Needs review » Needs work
FileSize
131.14 KB

Still we have entity_create('user left in following :

alt

heykarthikwithu’s picture

Assigned: Unassigned » heykarthikwithu
heykarthikwithu’s picture

Assigned: heykarthikwithu » Unassigned
Status: Needs work » Needs review
FileSize
14.39 KB
9.43 KB
naveenvalecha’s picture

Status: Needs review » Reviewed & tested by the community

My IDE did not find any occurance of entity_create('user and happy now.
Thanks!

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 14: 2641624-14.patch, failed testing.

heykarthikwithu’s picture

Assigned: Unassigned » heykarthikwithu
heykarthikwithu’s picture

Assigned: heykarthikwithu » Unassigned
Status: Needs work » Needs review
FileSize
14.4 KB
482 bytes
naveenvalecha’s picture

Status: Needs review » Reviewed & tested by the community

#18, Thanks! back to RTBC

  • catch committed 854649c on 8.1.x
    Issue #2641624 by heykarthikwithu, Mac_Weber, kostyashupenko: Replace...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Committed/pushed to 8.1.x, thanks!

naveenvalecha’s picture

cool! we have now few more left to close meta :)

Status: Fixed » Closed (fixed)

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