/** * Returns the HTML for the parameter input. * * @since 1.9 * * @return string */ public function getHtml() { $valueList = array(); if (is_array($this->param->getAllowedValues())) { $valueList = $this->param->getAllowedValues(); } if ($valueList === array()) { switch ($this->param->getType()) { case 'char': case 'float': case 'integer': case 'number': $html = $this->getNumberInput(); break; case 'boolean': $html = $this->getBooleanInput(); break; case 'string': default: $html = $this->getStrInput(); break; } } else { $html = $this->param->isList() ? $this->getCheckboxListInput($valueList) : $this->getSelectInput($valueList); } return $html; }
/** * @since 1.0 * * @param Options $options * * @return ValueParser */ public function getValueParser(Options $options) { $parser = $this->definition->getValueParser(); if (get_class($parser) === 'ValueParsers\\NullParser') { $parserType = $options->isStringlyTyped() ? 'string-parser' : 'typed-parser'; // TODO: inject factory $parserClass = ParamDefinitionFactory::singleton()->getComponentForType($this->definition->getType(), $parserType); if ($parserClass !== 'ValueParsers\\NullParser') { $parser = new $parserClass(new \ValueParsers\ParserOptions()); } } return $parser; }