diff --git a/phpstan.neon b/phpstan.neon index 28f48bd..2be29ca 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,4 +1,3 @@ parameters: ignoreErrors: - '#ReflectionClass#' - - '#ManyToOne::findPairs\(\)#' diff --git a/src/IComponentMapper.php b/src/IComponentMapper.php index 7e60d12..1c41bea 100644 --- a/src/IComponentMapper.php +++ b/src/IComponentMapper.php @@ -12,7 +12,7 @@ use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\Exceptions\InvalidStateException; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; /** * @author Jakub Janata @@ -25,20 +25,14 @@ interface IComponentMapper public const ITEMS_ORDER = 'items.order'; /** - * @param ClassMetadata $meta - * @param Component $component * @param mixed $entity * @throws InvalidStateException - * @return bool */ - public function load(ClassMetadata $meta, Component $component, $entity): bool; + public function load(ClassMetadata $meta, IComponent $component, $entity): bool; /** - * @param ClassMetadata $meta - * @param Component $component * @param mixed $entity * @throws InvalidStateException - * @return bool */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool; + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool; } diff --git a/src/Mappers/Column.php b/src/Mappers/Column.php index d0ae1dd..056431f 100644 --- a/src/Mappers/Column.php +++ b/src/Mappers/Column.php @@ -10,13 +10,14 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; +use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; use FreezyBee\DoctrineFormMapper\IComponentMapper; -use Doctrine\ORM\Mapping\ClassMetadata; use LogicException; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Controls\BaseControl; use Nette\SmartObject; +use Symfony\Component\PropertyAccess\Exception\AccessException; use Symfony\Component\PropertyAccess\PropertyAccessor; use TypeError; @@ -42,7 +43,7 @@ public function __construct(DoctrineFormMapper $mapper) /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { if (!$component instanceof BaseControl) { return false; @@ -59,6 +60,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool if (!preg_match($pattern, $error->getMessage())) { throw $error; } + } catch (AccessException $e) { } return true; @@ -70,7 +72,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (!$component instanceof BaseControl) { return false; diff --git a/src/Mappers/Construct.php b/src/Mappers/Construct.php index c2aed76..b5268c8 100644 --- a/src/Mappers/Construct.php +++ b/src/Mappers/Construct.php @@ -11,11 +11,11 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; use Doctrine\ORM\EntityManagerInterface; +use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; use FreezyBee\DoctrineFormMapper\Exceptions\InvalidStateException; use FreezyBee\DoctrineFormMapper\IComponentMapper; -use Doctrine\ORM\Mapping\ClassMetadata; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Container; use Nette\Forms\Controls\BaseControl; use Nette\SmartObject; @@ -41,7 +41,7 @@ public function __construct(DoctrineFormMapper $mapper) /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { return false; } @@ -50,7 +50,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool * Try create new instance by class name - entity * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (is_object($entity)) { return false; diff --git a/src/Mappers/Embedded.php b/src/Mappers/Embedded.php index d26d661..d13d6fb 100644 --- a/src/Mappers/Embedded.php +++ b/src/Mappers/Embedded.php @@ -10,10 +10,10 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; +use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; use FreezyBee\DoctrineFormMapper\IComponentMapper; -use Doctrine\ORM\Mapping\ClassMetadata; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Container; use Nette\SmartObject; use Symfony\Component\PropertyAccess\PropertyAccessor; @@ -43,7 +43,7 @@ public function __construct(DoctrineFormMapper $mapper) /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { if (!$component instanceof Container) { return false; @@ -62,7 +62,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (!$component instanceof Container) { return false; diff --git a/src/Mappers/ManyToMany.php b/src/Mappers/ManyToMany.php index 1cf3adf..2b52276 100644 --- a/src/Mappers/ManyToMany.php +++ b/src/Mappers/ManyToMany.php @@ -11,12 +11,13 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; use Doctrine\Common\Collections\Collection; -use FreezyBee\DoctrineFormMapper\IComponentMapper; use Doctrine\ORM\Mapping\ClassMetadata; +use FreezyBee\DoctrineFormMapper\IComponentMapper; use FreezyBee\DoctrineFormMapper\Utils\RelationsHelper; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Controls\MultiChoiceControl; use Nette\SmartObject; +use Symfony\Component\PropertyAccess\Exception\AccessException; use TypeError; /** @@ -31,7 +32,7 @@ class ManyToMany implements IComponentMapper /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { if (!$component instanceof MultiChoiceControl) { return false; @@ -56,6 +57,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool if (!preg_match($pattern, $error->getMessage())) { throw $error; } + } catch (AccessException $e) { } if ($collection) { @@ -75,7 +77,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (!$component instanceof MultiChoiceControl) { return false; diff --git a/src/Mappers/ManyToOne.php b/src/Mappers/ManyToOne.php index 533ff90..5db5dbb 100644 --- a/src/Mappers/ManyToOne.php +++ b/src/Mappers/ManyToOne.php @@ -10,12 +10,13 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; -use FreezyBee\DoctrineFormMapper\IComponentMapper; use Doctrine\ORM\Mapping\ClassMetadata; +use FreezyBee\DoctrineFormMapper\IComponentMapper; use FreezyBee\DoctrineFormMapper\Utils\RelationsHelper; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Controls\ChoiceControl; use Nette\SmartObject; +use Symfony\Component\PropertyAccess\Exception\AccessException; use TypeError; /** @@ -30,7 +31,7 @@ class ManyToOne implements IComponentMapper /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { if (!$component instanceof ChoiceControl) { return false; @@ -53,6 +54,8 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool throw $error; } $relation = null; + } catch (AccessException $e) { + $relation = null; } if ($relation) { @@ -66,7 +69,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (!$component instanceof ChoiceControl) { return false; diff --git a/src/Mappers/OneToOne.php b/src/Mappers/OneToOne.php index 76f2f40..db02fa5 100644 --- a/src/Mappers/OneToOne.php +++ b/src/Mappers/OneToOne.php @@ -10,10 +10,10 @@ namespace FreezyBee\DoctrineFormMapper\Mappers; +use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; use FreezyBee\DoctrineFormMapper\IComponentMapper; -use Doctrine\ORM\Mapping\ClassMetadata; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; use Nette\Forms\Container; use Nette\SmartObject; @@ -39,7 +39,7 @@ public function __construct(DoctrineFormMapper $mapper) /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { if (!$component instanceof Container) { return false; @@ -59,7 +59,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { if (!$component instanceof Container) { return false; diff --git a/src/Utils/RelationsHelper.php b/src/Utils/RelationsHelper.php index ac4064d..0a7f5c9 100644 --- a/src/Utils/RelationsHelper.php +++ b/src/Utils/RelationsHelper.php @@ -13,8 +13,8 @@ use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; -use FreezyBee\DoctrineFormMapper\IComponentMapper; use FreezyBee\DoctrineFormMapper\Exceptions\InvalidStateException; +use FreezyBee\DoctrineFormMapper\IComponentMapper; use Nette\Forms\Controls\ChoiceControl; use Nette\Forms\Controls\MultiChoiceControl; use Symfony\Component\PropertyAccess\PropertyAccessor; diff --git a/tests/Mock/CustomServiceMapper.php b/tests/Mock/CustomServiceMapper.php index 2a83980..fa3fc85 100644 --- a/tests/Mock/CustomServiceMapper.php +++ b/tests/Mock/CustomServiceMapper.php @@ -7,7 +7,7 @@ use Doctrine\ORM\Mapping\ClassMetadata; use FreezyBee\DoctrineFormMapper\DoctrineFormMapper; use FreezyBee\DoctrineFormMapper\IComponentMapper; -use Nette\ComponentModel\Component; +use Nette\ComponentModel\IComponent; /** * @author Jakub Janata @@ -38,7 +38,7 @@ public function __construct(DoctrineFormMapper $mapper, CustomService $customSer /** * {@inheritdoc} */ - public function load(ClassMetadata $meta, Component $component, $entity): bool + public function load(ClassMetadata $meta, IComponent $component, $entity): bool { return false; } @@ -46,7 +46,7 @@ public function load(ClassMetadata $meta, Component $component, $entity): bool /** * {@inheritdoc} */ - public function save(ClassMetadata $meta, Component $component, &$entity): bool + public function save(ClassMetadata $meta, IComponent $component, &$entity): bool { return false; }