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

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