164744a10SAndreas Gohr<?php 264744a10SAndreas Gohr 364744a10SAndreas Gohrnamespace dokuwiki\Form; 464744a10SAndreas Gohr 564744a10SAndreas Gohr/** 664744a10SAndreas Gohr * Class ValueElement 764744a10SAndreas Gohr * 864744a10SAndreas Gohr * Just like an Element but it's value is not part of its attributes 964744a10SAndreas Gohr * 1064744a10SAndreas Gohr * What the value is (tag name, content, etc) is defined by the actual implementations 1164744a10SAndreas Gohr * 1264744a10SAndreas Gohr * @package dokuwiki\Form 1364744a10SAndreas Gohr */ 149d01c1d9SSatoshi Saharaabstract class ValueElement extends Element 159d01c1d9SSatoshi Sahara{ 1664744a10SAndreas Gohr /** 1764744a10SAndreas Gohr * @var string holds the element's value 1864744a10SAndreas Gohr */ 1964744a10SAndreas Gohr protected $value = ''; 2064744a10SAndreas Gohr 2164744a10SAndreas Gohr /** 2264744a10SAndreas Gohr * @param string $type 230906a39bSGerrit Uitslag * @param string $value 2464744a10SAndreas Gohr * @param array $attributes 2564744a10SAndreas Gohr */ 26*6fd0861fSAndreas Gohr public function __construct($type, $value, $attributes = []) 279d01c1d9SSatoshi Sahara { 2864744a10SAndreas Gohr parent::__construct($type, $attributes); 2964744a10SAndreas Gohr $this->val($value); 3064744a10SAndreas Gohr } 3164744a10SAndreas Gohr 3264744a10SAndreas Gohr /** 3364744a10SAndreas Gohr * Get or set the element's value 3464744a10SAndreas Gohr * 3564744a10SAndreas Gohr * @param null|string $value 3664744a10SAndreas Gohr * @return string|$this 3764744a10SAndreas Gohr */ 389d01c1d9SSatoshi Sahara public function val($value = null) 399d01c1d9SSatoshi Sahara { 4064744a10SAndreas Gohr if ($value !== null) { 4164744a10SAndreas Gohr $this->value = $value; 4264744a10SAndreas Gohr return $this; 4364744a10SAndreas Gohr } 4464744a10SAndreas Gohr return $this->value; 4564744a10SAndreas Gohr } 4664744a10SAndreas Gohr} 47