vendor/shopware/core/Framework/DataAbstractionLayer/FieldVisibility.php line 8

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\DataAbstractionLayer;
  3. /**
  4.  * @internal
  5.  */
  6. class FieldVisibility
  7. {
  8.     public static bool $isInTwigRenderingContext false;
  9.     /**
  10.      * @var array<string>
  11.      */
  12.     private array $internalProperties;
  13.     /**
  14.      * @param array<string> $internalProperties
  15.      */
  16.     public function __construct(array $internalProperties)
  17.     {
  18.         $this->internalProperties $internalProperties;
  19.     }
  20.     public function isVisible(string $property): bool
  21.     {
  22.         return !static::$isInTwigRenderingContext || !\in_array($property$this->internalPropertiestrue);
  23.     }
  24.     public function filterInvisible(array $data): array
  25.     {
  26.         if (!static::$isInTwigRenderingContext) {
  27.             return $data;
  28.         }
  29.         return array_diff_key($dataarray_flip($this->internalProperties));
  30.     }
  31. }