Skip to content

Commit 93e1184

Browse files
jacktonkinmglaman
authored andcommitted
Make EntityReferenceItem generic
- Allows to specify the type of entity referenced - EntityReferenceFieldItemListInterface always contains EntityReferenceItems and so becomes generic in EntityInterface instead of FieldItemInterface
1 parent 7386356 commit 93e1184

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Drupal\Core\Field;
4+
5+
use Drupal\Core\Entity\EntityInterface;
6+
use Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem;
7+
8+
/**
9+
* @template T of EntityInterface
10+
* @extends FieldItemListInterface<EntityReferenceItem<T>>
11+
* @property int|string|null $target_id
12+
* @property ?T $entity
13+
*/
14+
interface EntityReferenceFieldItemListInterface extends FieldItemListInterface {
15+
16+
}

stubs/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.stub

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ use Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface;
77
use Drupal\Core\TypedData\OptionsProviderInterface;
88

99
/**
10+
* @template T of \Drupal\Core\Entity\EntityInterface
11+
* @property ?T $entity
1012
* @property string|integer $target_id
11-
* @property \Drupal\Core\Entity\EntityInterface|null $entity
1213
*/
1314
class EntityReferenceItem extends FieldItemBase implements OptionsProviderInterface, PreconfiguredFieldUiOptionsInterface {
1415
}

0 commit comments

Comments
 (0)