diff --git a/application/Espo/Core/Notification/AssignmentNotificator/Params.php b/application/Espo/Core/Notification/AssignmentNotificator/Params.php index e48811215a..5776bb81b8 100644 --- a/application/Espo/Core/Notification/AssignmentNotificator/Params.php +++ b/application/Espo/Core/Notification/AssignmentNotificator/Params.php @@ -31,6 +31,9 @@ namespace Espo\Core\Notification\AssignmentNotificator; class Params { + /** + * @var array + */ private $options = []; public function hasOption(string $option): bool @@ -46,11 +49,17 @@ class Params return $this->options[$option] ?? null; } + /** + * @return array + */ public function getRawOptions(): array { return $this->options; } + /** + * @param array $options + */ public function withRawOptions(array $options): self { $obj = clone $this; diff --git a/application/Espo/Core/Notification/AssignmentNotificatorFactory.php b/application/Espo/Core/Notification/AssignmentNotificatorFactory.php index 2f2ca2a6b0..2f5ad7ce08 100644 --- a/application/Espo/Core/Notification/AssignmentNotificatorFactory.php +++ b/application/Espo/Core/Notification/AssignmentNotificatorFactory.php @@ -39,13 +39,16 @@ use Espo\Core\{ class AssignmentNotificatorFactory { - protected $defaultClassName = DefaultAssignmentNotificator::class; + /** + * @var class-string + */ + protected string $defaultClassName = DefaultAssignmentNotificator::class; - private $injectableFactory; + private InjectableFactory $injectableFactory; - private $classFinder; + private ClassFinder $classFinder; - private $metadata; + private Metadata $metadata; public function __construct(InjectableFactory $injectableFactory, ClassFinder $classFinder, Metadata $metadata) { @@ -66,6 +69,9 @@ class AssignmentNotificatorFactory return $this->injectableFactory->create($className); } + /** + * @return class-string + */ private function getClassName(string $entityType): string { $className1 = $this->metadata->get(['notificationDefs', $entityType, 'assignmentNotificatorClassName']); diff --git a/application/Espo/Core/Notification/UserEnabledChecker.php b/application/Espo/Core/Notification/UserEnabledChecker.php index fc8d7c2971..17ecaf8ba2 100644 --- a/application/Espo/Core/Notification/UserEnabledChecker.php +++ b/application/Espo/Core/Notification/UserEnabledChecker.php @@ -29,15 +29,16 @@ namespace Espo\Core\Notification; -use Espo\Core\{ - ORM\EntityManager, -}; +use Espo\Core\ORM\EntityManager; class UserEnabledChecker { + /** + * @var array + */ private $assignmentCache = []; - private $entityManager; + private EntityManager $entityManager; public function __construct(EntityManager $entityManager) { diff --git a/application/Espo/Core/Notificators/DefaultNotificator.php b/application/Espo/Core/Notificators/DefaultNotificator.php index 1cebf7e9a0..00fcf9b978 100644 --- a/application/Espo/Core/Notificators/DefaultNotificator.php +++ b/application/Espo/Core/Notificators/DefaultNotificator.php @@ -45,13 +45,13 @@ use Espo\Core\{ */ class DefaultNotificator { - protected $entityType; + protected $entityType; /** @phpstan-ignore-line */ - protected $user; + protected $user; /** @phpstan-ignore-line */ - protected $entityManager; + protected $entityManager; /** @phpstan-ignore-line */ - private $base; + private $base; /** @phpstan-ignore-line */ public function __construct(User $user, EntityManager $entityManager, DefaultAssignmentNotificator $base) { @@ -60,7 +60,7 @@ class DefaultNotificator $this->base = $base; } - public function process(Entity $entity, array $options = []) + public function process(Entity $entity, array $options = []) /** @phpstan-ignore-line */ { $this->base->process($entity, Params::create()->withRawOptions($options)); } @@ -68,7 +68,7 @@ class DefaultNotificator /** * For backward compatibility. */ - protected function getEntityManager() + protected function getEntityManager() /** @phpstan-ignore-line */ { return $this->entityManager; } @@ -76,7 +76,7 @@ class DefaultNotificator /** * For backward compatibility. */ - protected function getUser() + protected function getUser() /** @phpstan-ignore-line */ { return $this->user; } diff --git a/application/Espo/Core/ORM/AttributeExtractorFactory.php b/application/Espo/Core/ORM/AttributeExtractorFactory.php index 30cc3063d9..3c638c695c 100644 --- a/application/Espo/Core/ORM/AttributeExtractorFactory.php +++ b/application/Espo/Core/ORM/AttributeExtractorFactory.php @@ -48,11 +48,11 @@ use RuntimeException; */ class AttributeExtractorFactory implements AttributeExtractorFactoryInterface { - private $metadata; + private Metadata $metadata; - private $ormMetadata; + private OrmMetadata $ormMetadata; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct(Metadata $metadata, OrmMetadata $ormMetadata, InjectableFactory $injectableFactory) { @@ -77,6 +77,9 @@ class AttributeExtractorFactory implements AttributeExtractorFactoryInterface return $this->injectableFactory->create($className); } + /** + * @return ?class-string + */ private function getClassName(string $entityType, string $field): ?string { $fieldDefs = $this->ormMetadata diff --git a/application/Espo/Core/ORM/Entity.php b/application/Espo/Core/ORM/Entity.php index 37990ddbd5..b13911e123 100644 --- a/application/Espo/Core/ORM/Entity.php +++ b/application/Espo/Core/ORM/Entity.php @@ -93,6 +93,14 @@ class Entity extends BaseEntity $this->set($field . 'Name', null); } + /** + * + * @param string $link + * @return ?array{ + * orderBy: ?string, + * order: ?string, + * } + */ protected function getRelationOrderParams(string $link): ?array { $field = $link; @@ -145,11 +153,14 @@ class Entity extends BaseEntity ]; } + /** + * @param ?array $columns + */ public function loadLinkMultipleField(string $field, $columns = null): void { if (!$this->hasRelation($field) || !$this->hasAttribute($field . 'Ids')) { return; - // @todo Throw exception in 6.4. + // @todo Throw exception on v7.2. // throw new LogicException("There's no link-multiple field '{$field}'."); } @@ -320,6 +331,9 @@ class Entity extends BaseEntity return null; } + /** + * @param mixed $value + */ public function setLinkMultipleColumn(string $field, string $column, string $id, $value): void { $columnsAttribute = $field . 'Columns'; @@ -347,6 +361,9 @@ class Entity extends BaseEntity $this->set($columnsAttribute, $object); } + /** + * @param string[] $idList + */ public function setLinkMultipleIdList(string $field, array $idList): void { $idsAttribute = $field . 'Ids'; @@ -397,6 +414,9 @@ class Entity extends BaseEntity } } + /** + * @return ?string[] + */ public function getLinkMultipleIdList(string $field): ?array { $idsAttribute = $field . 'Ids'; diff --git a/application/Espo/Core/ORM/EntityFactory.php b/application/Espo/Core/ORM/EntityFactory.php index a8ba89d516..cf6b3a3a9d 100644 --- a/application/Espo/Core/ORM/EntityFactory.php +++ b/application/Espo/Core/ORM/EntityFactory.php @@ -49,15 +49,15 @@ use Espo\ORM\{ class EntityFactory implements EntityFactoryInterface { - private $classFinder; + private ClassFinder $classFinder; - private $helper; + private Helper $helper; - private $injectableFactory; + private InjectableFactory $injectableFactory; - private $entityManager = null; + private ?EntityManager $entityManager = null; - private $valueAccessorFactory = null; + private ?ValueAccessorFactory $valueAccessorFactory = null; public function __construct(ClassFinder $classFinder, Helper $helper, InjectableFactory $injectableFactory) { @@ -66,6 +66,9 @@ class EntityFactory implements EntityFactoryInterface $this->injectableFactory = $injectableFactory; } + /** + * @return class-string + */ private function getClassName(string $entityType): ?string { return $this->classFinder->find('Entities', $entityType); @@ -108,6 +111,9 @@ class EntityFactory implements EntityFactoryInterface return $this->injectableFactory->createWithBinding($className, $bindingContainer); } + /** + * @param array $defs + */ private function getBindingContainer(string $className, string $entityType, array $defs): BindingContainer { $data = new BindingData(); diff --git a/application/Espo/Core/ORM/EntityManagerFactory.php b/application/Espo/Core/ORM/EntityManagerFactory.php index 68fb058c72..e79b6e80ab 100644 --- a/application/Espo/Core/ORM/EntityManagerFactory.php +++ b/application/Espo/Core/ORM/EntityManagerFactory.php @@ -50,14 +50,17 @@ use RuntimeException; class EntityManagerFactory { - private $config; + private Config $config; - private $injectableFactory; + private InjectableFactory $injectableFactory; - private $metadataDataProvider; + private MetadataDataProvider $metadataDataProvider; - private $eventDispatcher; + private EventDispatcher $eventDispatcher; + /** + * @var array + */ private $driverPlatformMap = [ 'pdo_mysql' => 'Mysql', 'mysqli' => 'Mysql', diff --git a/application/Espo/Core/ORM/EntityManagerProxy.php b/application/Espo/Core/ORM/EntityManagerProxy.php index 0d7ad0f539..3350762df1 100644 --- a/application/Espo/Core/ORM/EntityManagerProxy.php +++ b/application/Espo/Core/ORM/EntityManagerProxy.php @@ -41,9 +41,9 @@ use Espo\Core\{ class EntityManagerProxy { - private $entityManager = null; + private ?EntityManager $entityManager = null; - private $container; + private Container $container; public function __construct(Container $container) { @@ -64,6 +64,10 @@ class EntityManagerProxy return $this->getEntityManager()->getEntity($entityType, $id); } + /** + * @param array $options + * @return void + */ public function saveEntity(Entity $entity, array $options = []) { /** Return for backward compatibility. */ @@ -71,11 +75,17 @@ class EntityManagerProxy return $this->getEntityManager()->saveEntity($entity, $options); } + /** + * @return Repository + */ public function getRepository(string $entityType): Repository { return $this->getEntityManager()->getRepository($entityType); } + /** + * @return RDBRepository + */ public function getRDBRepository(string $entityType): RDBRepository { return $this->getEntityManager()->getRDBRepository($entityType); diff --git a/application/Espo/Core/ORM/QueryComposer/Part/FunctionConverterFactory.php b/application/Espo/Core/ORM/QueryComposer/Part/FunctionConverterFactory.php index 7b145d2082..e45ba14bb4 100644 --- a/application/Espo/Core/ORM/QueryComposer/Part/FunctionConverterFactory.php +++ b/application/Espo/Core/ORM/QueryComposer/Part/FunctionConverterFactory.php @@ -40,13 +40,16 @@ use LogicException; class FunctionConverterFactory implements FunctionConverterFactoryInterface { + /** + * @var array + */ private $hash = []; - private $metadata; + private Metadata $metadata; - private $databaseParams; + private DatabaseParams $databaseParams; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct( Metadata $metadata, @@ -80,6 +83,9 @@ class FunctionConverterFactory implements FunctionConverterFactoryInterface return true; } + /** + * @return ?class-string + */ private function getClassName(string $name): ?string { if (!array_key_exists($name, $this->hash)) { diff --git a/application/Espo/Core/ORM/Repositories/RDB.php b/application/Espo/Core/ORM/Repositories/RDB.php index 5fd089871d..b182dd8c7e 100644 --- a/application/Espo/Core/ORM/Repositories/RDB.php +++ b/application/Espo/Core/ORM/Repositories/RDB.php @@ -42,49 +42,49 @@ use Espo\Core\{ }; /** @deprecated */ -class RDB extends \Espo\Core\Repositories\Database implements Injectable +class RDB extends \Espo\Core\Repositories\Database implements Injectable /** @phpstan-ignore-line */ { - protected $dependencyList = [ + protected $dependencyList = [ /** @phpstan-ignore-line */ 'config', ]; - protected $dependencies = []; + protected $dependencies = []; /** @phpstan-ignore-line */ - protected $injections = []; + protected $injections = []; /** @phpstan-ignore-line */ - protected function addDependency($name) + protected function addDependency($name) /** @phpstan-ignore-line */ { $this->dependencyList[] = $name; } - protected function addDependencyList(array $list) + protected function addDependencyList(array $list) /** @phpstan-ignore-line */ { foreach ($list as $item) { $this->addDependency($item); } } - public function inject($name, $object) + public function inject($name, $object) /** @phpstan-ignore-line */ { $this->injections[$name] = $object; } - protected function getInjection($name) + protected function getInjection($name) /** @phpstan-ignore-line */ { return $this->injections[$name] ?? $this->$name ?? null; } - public function getDependencyList() + public function getDependencyList() /** @phpstan-ignore-line */ { return array_merge($this->dependencyList, $this->dependencies); } - protected function getMetadata() + protected function getMetadata() /** @phpstan-ignore-line */ { return $this->getInjection('metadata'); } - protected function getConfig() + protected function getConfig() /** @phpstan-ignore-line */ { return $this->getInjection('config'); } @@ -111,7 +111,7 @@ class RDB extends \Espo\Core\Repositories\Database implements Injectable $this->init(); } - protected function init() + protected function init() /** @phpstan-ignore-line */ { } } diff --git a/application/Espo/Core/ORM/Repository.php b/application/Espo/Core/ORM/Repository.php index 83e8dbab84..e08ae1da5f 100644 --- a/application/Espo/Core/ORM/Repository.php +++ b/application/Espo/Core/ORM/Repository.php @@ -38,46 +38,50 @@ use Espo\ORM\{ /** * @deprecated + * @extends RDBRepository */ abstract class Repository extends RDBRepository implements Injectable { - protected $dependencyList = []; + protected $dependencyList = []; /** @phpstan-ignore-line */ - protected $dependencies = []; // for backward compatibility + protected $dependencies = []; /** @phpstan-ignore-line */ - protected $injections = []; + protected $injections = []; /** @phpstan-ignore-line */ - protected function init() + protected function init() /** @phpstan-ignore-line */ { } - public function inject($name, $object) + public function inject($name, $object) /** @phpstan-ignore-line */ { $this->injections[$name] = $object; } - protected function getInjection($name) + protected function getInjection($name) /** @phpstan-ignore-line */ { return $this->injections[$name]; } - public function getDependencyList() + public function getDependencyList() /** @phpstan-ignore-line */ { return array_merge($this->dependencyList, $this->dependencies); } - protected function addDependencyList(array $list) + protected function addDependencyList(array $list) /** @phpstan-ignore-line */ { foreach ($list as $item) { $this->addDependency($item); } } - protected function addDependency($name) + protected function addDependency($name) /** @phpstan-ignore-line */ { $this->dependencyList[] = $name; } + /** + * @param string $entityType + */ public function __construct($entityType, EntityManager $entityManager, EntityFactory $entityFactory) { parent::__construct($entityType, $entityManager, $entityFactory); diff --git a/application/Espo/Core/ORM/Repository/HookMediator.php b/application/Espo/Core/ORM/Repository/HookMediator.php index 558bcc73f8..25104a8796 100644 --- a/application/Espo/Core/ORM/Repository/HookMediator.php +++ b/application/Espo/Core/ORM/Repository/HookMediator.php @@ -39,13 +39,17 @@ use Espo\Core\HookManager; class HookMediator extends EmptyHookMediator { - protected $hookManager; + protected HookManager $hookManager; public function __construct(HookManager $hookManager) { $this->hookManager = $hookManager; } + /** + * @param ?array $columnData + * @param array $options + */ public function afterRelate( Entity $entity, string $relationName, @@ -62,7 +66,7 @@ class HookMediator extends EmptyHookMediator 'relationName' => $relationName, 'relationData' => $columnData, 'foreignEntity' => $foreignEntity, - 'foreignId' => $foreignEntity->getId() + 'foreignId' => $foreignEntity->getId(), ]; $this->hookManager->process( @@ -73,6 +77,10 @@ class HookMediator extends EmptyHookMediator $hookData ); } + + /** + * @param array $options + */ public function afterUnrelate(Entity $entity, string $relationName, Entity $foreignEntity, array $options): void { if (!empty($options['skipHooks'])) { @@ -94,6 +102,9 @@ class HookMediator extends EmptyHookMediator ); } + /** + * @param array $options + */ public function afterMassRelate(Entity $entity, string $relationName, Select $query, array $options): void { if (!empty($options['skipHooks'])) { diff --git a/application/Espo/Core/ORM/RepositoryFactory.php b/application/Espo/Core/ORM/RepositoryFactory.php index d309878b8a..8eeec15f14 100644 --- a/application/Espo/Core/ORM/RepositoryFactory.php +++ b/application/Espo/Core/ORM/RepositoryFactory.php @@ -46,22 +46,16 @@ use Espo\ORM\{ class RepositoryFactory implements RepositoryFactoryInterface { + /** + * @var class-string + */ protected $defaultClassName = DatabaseRepository::class; - /** - * @var EntityFactoryInteface - */ - protected $entityFactory; + protected EntityFactoryInteface $entityFactory; - /** - * @var InjectableFactory - */ - protected $injectableFactory; + protected InjectableFactory $injectableFactory; - /** - * @var ClassFinder - */ - protected $classFinder; + protected ClassFinder $classFinder; public function __construct( EntityFactoryInteface $entityFactory, @@ -74,6 +68,9 @@ class RepositoryFactory implements RepositoryFactoryInterface $this->classFinder = $classFinder; } + /** + * @return ?class-string + */ protected function getClassName(string $entityType): ?string { return $this->classFinder->find('Repositories', $entityType); diff --git a/application/Espo/Core/ORM/ValueFactoryFactory.php b/application/Espo/Core/ORM/ValueFactoryFactory.php index 4cf0f382d3..c5c4902b9a 100644 --- a/application/Espo/Core/ORM/ValueFactoryFactory.php +++ b/application/Espo/Core/ORM/ValueFactoryFactory.php @@ -44,11 +44,11 @@ use RuntimeException; class ValueFactoryFactory implements ValueFactoryFactoryInteface { - private $metadata; + private Metadata $metadata; - private $ormMetadata; + private OrmMetadata $ormMetadata; - private $injectableFactory; + private InjectableFactory $injectableFactory; public function __construct(Metadata $metadata, OrmMetadata $ormMetadata, InjectableFactory $injectableFactory) { @@ -73,6 +73,9 @@ class ValueFactoryFactory implements ValueFactoryFactoryInteface return $this->injectableFactory->create($className); } + /** + * @return ?class-string + */ private function getClassName(string $entityType, string $field): ?string { $fieldDefs = $this->ormMetadata diff --git a/application/Espo/Core/Utils/Metadata.php b/application/Espo/Core/Utils/Metadata.php index ea749c7f22..9da0bd391a 100644 --- a/application/Espo/Core/Utils/Metadata.php +++ b/application/Espo/Core/Utils/Metadata.php @@ -291,6 +291,7 @@ class Metadata /** * @param stdClass $data + * @return stdClass */ private function addAdditionalFieldsObj($data) { diff --git a/application/Espo/ORM/BaseEntity.php b/application/Espo/ORM/BaseEntity.php index 4f53632f54..62520a32b3 100644 --- a/application/Espo/ORM/BaseEntity.php +++ b/application/Espo/ORM/BaseEntity.php @@ -177,8 +177,8 @@ class BaseEntity implements Entity $p1 = $attribute; $p2 = $value; - /** @phpstan-var mixed $p1 */ - /** @phpstan-var mixed $p2 */ + /** @var mixed $p1 */ + /** @var mixed $p2 */ if (is_array($p1) || is_object($p1)) { if (is_object($p1)) { diff --git a/application/Espo/ORM/Repository/RDBRepository.php b/application/Espo/ORM/Repository/RDBRepository.php index fa1febc28e..499912a335 100644 --- a/application/Espo/ORM/Repository/RDBRepository.php +++ b/application/Espo/ORM/Repository/RDBRepository.php @@ -86,6 +86,8 @@ class RDBRepository implements Repository /** * Get a new entity. + * + * @return TEntity */ public function getNew(): Entity { @@ -102,6 +104,8 @@ class RDBRepository implements Repository /** * Fetch an entity by ID. + * + * @return ?TEntity */ public function getById(string $id): ?Entity { @@ -123,7 +127,7 @@ class RDBRepository implements Repository /** * Get an entity. If ID is NULL, a new entity is returned. * - * @phpstan-return ?TEntity + * @return ?TEntity */ public function get(?string $id = null): ?Entity { @@ -141,6 +145,10 @@ class RDBRepository implements Repository } } + /** + * @param TEntity $entity + * @param array $options + */ public function save(Entity $entity, array $options = []): void { $this->processCheckEntity($entity); @@ -207,7 +215,7 @@ class RDBRepository implements Repository /** * Get an access point for a specific relation of a record. * - * @phpstan-param TEntity $entity + * @param TEntity $entity */ public function getRelation(Entity $entity, string $relationName): RDBRelation { @@ -246,7 +254,7 @@ class RDBRepository implements Repository * Find records. * * @param ?array $params @deprecated - * @phpstan-return Collection + * @return Collection */ public function find(?array $params = []): Collection { @@ -281,7 +289,7 @@ class RDBRepository implements Repository if (!$mapper instanceof BaseMapper) { throw new RuntimeException("Not supported 'findBySql'."); } - + /** @var SthCollection */ return $mapper->selectBySql($this->entityType, $sql); } @@ -790,7 +798,7 @@ class RDBRepository implements Repository /** * Clone an existing query for a further modification and usage by 'find' or 'count' methods. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function clone(Select $query): RDBSelectBuilder { @@ -812,7 +820,7 @@ class RDBRepository implements Repository * @param string|null $alias An alias. * @param WhereItem|array|null $conditions Join conditions. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function join($target, ?string $alias = null, $conditions = null): RDBSelectBuilder { @@ -827,7 +835,7 @@ class RDBRepository implements Repository * @param string|null $alias An alias. * @param WhereItem|array|null $conditions Join conditions. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function leftJoin($target, ?string $alias = null, $conditions = null): RDBSelectBuilder { @@ -857,7 +865,7 @@ class RDBRepository implements Repository /** * Set to return STH collection. Recommended fetching large number of records. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder * @return RDBSelectBuilder */ public function sth(): RDBSelectBuilder @@ -894,7 +902,7 @@ class RDBRepository implements Repository * @param WhereItem|array|string $clause A key or where clause. * @param mixed[]|scalar|null $value A value. Should be omitted if the first argument is not string. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function having($clause = [], $value = null): RDBSelectBuilder { @@ -916,7 +924,7 @@ class RDBRepository implements Repository * @param string|bool|null $direction Select::ORDER_ASC|Select::ORDER_DESC. * * @phpstan-param Order|Order[]|Expression|string|array|string[] $orderBy - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function order($orderBy = 'id', $direction = null): RDBSelectBuilder { @@ -926,7 +934,7 @@ class RDBRepository implements Repository /** * Apply OFFSET and LIMIT. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function limit(?int $offset = null, ?int $limit = null): RDBSelectBuilder { @@ -947,7 +955,7 @@ class RDBRepository implements Repository * An array of expressions or one expression. * @param string|null $alias An alias. Actual if the first parameter is not an array. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ public function select($select = [], ?string $alias = null): RDBSelectBuilder { @@ -993,7 +1001,7 @@ class RDBRepository implements Repository /** * Create a select builder. * - * @phpstan-return RDBSelectBuilder + * @return RDBSelectBuilder */ protected function createSelectBuilder(): RDBSelectBuilder { diff --git a/application/Espo/ORM/Repository/RDBSelectBuilder.php b/application/Espo/ORM/Repository/RDBSelectBuilder.php index ecff665e49..bebfa52959 100644 --- a/application/Espo/ORM/Repository/RDBSelectBuilder.php +++ b/application/Espo/ORM/Repository/RDBSelectBuilder.php @@ -94,7 +94,7 @@ class RDBSelectBuilder /** * @param ?array $params @deprecated. Omit it. - * @phpstan-return Collection + * @return Collection */ public function find(?array $params = null): Collection { @@ -109,7 +109,7 @@ class RDBSelectBuilder /** * @param ?array $params @deprecated * - * @phpstan-return ?TEntity + * @return ?TEntity */ public function findOne(?array $params = null): ?Entity { diff --git a/application/Espo/ORM/Repository/Repository.php b/application/Espo/ORM/Repository/Repository.php index 36cc977ed9..4970653ed3 100644 --- a/application/Espo/ORM/Repository/Repository.php +++ b/application/Espo/ORM/Repository/Repository.php @@ -41,14 +41,14 @@ interface Repository /** * Get a new entity. * - * @phpstan-return TEntity + * @return TEntity */ public function getNew(): Entity; /** * Fetch an entity by ID. * - * @phpstan-return ?TEntity + * @return ?TEntity */ public function getById(string $id): ?Entity;