1<?php 2 3namespace dokuwiki\Form; 4 5/** 6 * Class ValueElement 7 * 8 * Just like an Element but it's value is not part of its attributes 9 * 10 * What the value is (tag name, content, etc) is defined by the actual implementations 11 * 12 * @package dokuwiki\Form 13 */ 14abstract class ValueElement extends Element 15{ 16 /** 17 * @var string holds the element's value 18 */ 19 protected $value = ''; 20 21 /** 22 * @param string $type 23 * @param string $value 24 * @param array $attributes 25 */ 26 public function __construct($type, $value, $attributes = []) 27 { 28 parent::__construct($type, $attributes); 29 $this->val($value); 30 } 31 32 /** 33 * Get or set the element's value 34 * 35 * @param null|string $value 36 * @return string|$this 37 */ 38 public function val($value = null) 39 { 40 if ($value !== null) { 41 $this->value = $value; 42 return $this; 43 } 44 return $this->value; 45 } 46} 47