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

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