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 in favor of the create() method of the entity type class if known, or the EntityManager::create() helper.
That deprecated functions is used in a lot of different contextes.
Beta phase evaluation
Reference: https://www.drupal.org/core/beta-changes
| Issue category |
Task |
| Issue priority |
Major because we do not want deprecated code in Core as it could be used as example |
| 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 performances) |
| 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() or EntityManager::create(), according to the case, everywhere its needed.
Before:
entity_create('field_config', $field_values)->save();
$type = 'node';
entity_create($type, $node_values)->save();
After:
use Drupal\field\Entity\FieldConfig;
FieldConfig::create($field_values)->save();
use Drupal\Core\Entity\EntityManager;
$type = 'node';
EntityManager::create($type, $node_values)->save();
Remaining tasks
Contributor tasks needed
| Task |
Novice task? |
Contributor instructions |
Complete? |
| Create a patch |
|
Instructions |
|
User interface changes
None.
API changes
None.
Comments
Comment #1
duaelfrUpdate summary and title according to the change in the meta issue.
Comment #2
chananapeeyush commentedAssigning myself
Comment #3
chananapeeyush commentedComment #4
chananapeeyush commentedI found one typo myself.Love dreditor.
Comment #6
duaelfrOk for me :)
Comment #7
catchCommitted/pushed to 8.0.x, thanks!
Comment #9
duaelfr@trwad Congratulations for your first Core commit attribution!
Comment #10
chananapeeyush commentedThanks All!
Comment #11
duaelfrAs seen in #2490966-13: [Meta] Replace deprecated usage of entity_create with a direct call to the entity type class, demoting this issue to Normal.