1*37748cd8SNickeau<?php 2*37748cd8SNickeau 3*37748cd8SNickeau 4*37748cd8SNickeaunamespace ComboStrap; 5*37748cd8SNickeau 6*37748cd8SNickeau 7*37748cd8SNickeauclass ConditionalValue 8*37748cd8SNickeau{ 9*37748cd8SNickeau 10*37748cd8SNickeau const CANONICAL = "conditional"; 11*37748cd8SNickeau /** 12*37748cd8SNickeau * @var string 13*37748cd8SNickeau */ 14*37748cd8SNickeau private $value; 15*37748cd8SNickeau /** 16*37748cd8SNickeau * @var string 17*37748cd8SNickeau */ 18*37748cd8SNickeau private $breakpoint; 19*37748cd8SNickeau 20*37748cd8SNickeau /** 21*37748cd8SNickeau * ConditionalValue constructor. 22*37748cd8SNickeau */ 23*37748cd8SNickeau public function __construct($value) 24*37748cd8SNickeau { 25*37748cd8SNickeau $array = explode("-", $value); 26*37748cd8SNickeau $sizeof = sizeof($array); 27*37748cd8SNickeau switch ($sizeof) { 28*37748cd8SNickeau case 0: 29*37748cd8SNickeau LogUtility::msg("There is no value in ($value)", LogUtility::LVL_MSG_ERROR, self::CANONICAL); 30*37748cd8SNickeau $this->breakpoint = ""; 31*37748cd8SNickeau $this->value = ""; 32*37748cd8SNickeau break; 33*37748cd8SNickeau case 1: 34*37748cd8SNickeau $this->breakpoint = ""; 35*37748cd8SNickeau $this->value = $array[0]; 36*37748cd8SNickeau break; 37*37748cd8SNickeau case 2: 38*37748cd8SNickeau $this->breakpoint = $array[0]; 39*37748cd8SNickeau $this->value = $array[1]; 40*37748cd8SNickeau break; 41*37748cd8SNickeau default: 42*37748cd8SNickeau LogUtility::msg("The screen conditional value ($value) should have only one separator character `-`", LogUtility::LVL_MSG_ERROR, self::CANONICAL); 43*37748cd8SNickeau $this->breakpoint = $array[$sizeof-2]; 44*37748cd8SNickeau $this->value = $array[$sizeof-1]; 45*37748cd8SNickeau break; 46*37748cd8SNickeau } 47*37748cd8SNickeau } 48*37748cd8SNickeau 49*37748cd8SNickeau public static function createFrom($value) 50*37748cd8SNickeau { 51*37748cd8SNickeau return new ConditionalValue($value); 52*37748cd8SNickeau } 53*37748cd8SNickeau 54*37748cd8SNickeau public function getBreakpoint() 55*37748cd8SNickeau { 56*37748cd8SNickeau return $this->breakpoint; 57*37748cd8SNickeau } 58*37748cd8SNickeau 59*37748cd8SNickeau public function getValue() 60*37748cd8SNickeau { 61*37748cd8SNickeau return $this->value; 62*37748cd8SNickeau } 63*37748cd8SNickeau 64*37748cd8SNickeau 65*37748cd8SNickeau} 66