If.class.php (1471B)
1 <?php 2 3 namespace template_engine\components; 4 5 class IfComponent extends Component 6 { 7 public $true; 8 public $false; 9 public $contains; 10 public $value; 11 public $empty; 12 public $equals; 13 public $lessthan; 14 public $greaterthan; 15 public $present; 16 public $not; 17 18 19 public function begin() 20 { 21 echo <<<'HTML' 22 HTML; 23 24 echo '<?php $if'.$this->getDepth().'='.(!isset($this->not)?'':'!').'('; 25 if ( !empty($this->true )) 26 echo $this->value($this->true); 27 elseif (! empty($this->false)) 28 echo '!' . $this->value($this->false); 29 elseif (! empty($this->contains)) 30 echo 'in_array('.$this->value($this->value).',explode(",",'.$this->value($this->contains).')'; 31 elseif (! empty($this->equals)) 32 echo '' . $this->value($this->value).'=='.$this->value($this->equals); 33 elseif (strlen($this->lessthan)>0) 34 echo 'intval(' . $this->value($this->lessthan).')>intval('.$this->value($this->value).')'; 35 elseif (strlen($this->greaterthan)>0) 36 echo 'intval(' . $this->value($this->greaterthan).')<intval('.$this->value($this->value).')'; 37 elseif (! empty($this->present)) 38 echo 'isset(' . $this->textasvarname($this->present).')'; // 'isset' verwenden! Nicht empty(), da false empty ist. 39 elseif (! empty($this->empty)) 40 echo '(' . $this->textasvarname($this->empty).')==FALSE'; 41 else 42 throw new \LogicException("Element 'if' has not enough parameters."); 43 44 echo '); if($if'.$this->getDepth().'){?>'; 45 } 46 47 public function end() { 48 echo '<?php } ?>'; 49 } 50 } 51 52 ?>