Skip to content
Snippets Groups Projects
Select Git revision
  • 5e54f36b1166a5cc8f65ca69d435de90155ac683
  • master default protected
  • 1.1.0
  • 1.0
4 results

AndStrategy.php

Blame
  • AndStrategy.php 675 B
    <?php
    
    namespace WPDesk\ShowDecision;
    
    class AndStrategy implements ShouldShowStrategy
    {
    
        /**
         * @var ShouldShowStrategy[]
         */
        private array $conditions = [];
    
        public function __construct(ShouldShowStrategy $strategy)
        {
            $this->conditions[] = $strategy;
        }
    
        public function addCondition(ShouldShowStrategy $condition): self
        {
            $this->conditions[] = $condition;
    
            return $this;
        }
    
        public function shouldDisplay(): bool
        {
            foreach ($this->conditions as $condition) {
                if ( ! $condition->shouldDisplay()) {
                    return false;
                }
            }
    
            return true;
        }
    
    }