<?php
// \Drupal\Core\Entity\EntityInterface
interface EntityInterface {
public function id();
// ...
}
// \Drupal\user\UserInterface
interface UserInterface extends EntityInterface {
// ...
}
// \Drupal\user\User
class User implements UserInterface {
public function id() {}
}
// \Drupal\Core\Entity\OwnedEntityInterface
interface OwnedEntityInterface {
public function setOwnerId($id);
public function getOwnerId();
}
// \Drupal\user\EntityOwnerInterface
interface EntityOwnerInterface extends OwnedEntityInterface {
public function setOwner(UserInterface $owner);
public function getOwner();
}
// Example class.
class OwnedEntity implements EntityOwnerInterface {
public function setOwnerId($id) {}
public function getOwnerId() {}
public function setOwner(UserInterface $owner) {}
public function getOwner() {}
}
$user = new User();
$entity = new OwnedEntity();
$entity->setOwnerId($user->id());
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0