This package targets Drupal 8.
It offers developers a friendly way of accessing their entities.
Drupal has kind of a very verbose syntax to access entities.
Fed up of typing code like this?
$entity->get('field_my_field')->getValue()[0]['value']
This package has the solution for you!
This package registers in the Drupal container a new service: easy_entity_adapter.wrapper
.
This service can "wrap" an entity into another object that is way easier to access. You can access values of the "wrapped" entity directly (using the array access notation).
Here is a sample:
// Let's assume you have a $entity variable containing an entity.
$wrapper = \Drupal::get('easy_entity_adapter.wrapper');
$easyEntity = $wrapper->wrap($entity);
// Now, you can access parts of your entity very easily.
$title = $easyEntity['title']; // $title is directly a string
$references = $easyEntity['my_custom_references']; // If the cardinality of the 'my_custom_references' is > 1, then the $references is automatically an array.
// Even better, referenced nodes are automatically fetched and converted into wrapped entities.
// So you can do something like:
$titleOfTheReferencedNode = $easyEntity['my_custom_references'][0]['title'];
Simply use:
composer require thecodingmachine/easy.entity.adapter
From Twig, you can wrap an entity into the adapter using the easy_entity
function.
For instance:
{{ easy_entity(node).title }}