inNavbar; } function setInNavbar(bool $inNavbar=true): void { $this->inNavbar = $inNavbar; } function get(?string $type=null, ?array $params=null): Form { if ($type === null) { $type = $this->inNavbar? self::TYPE_NAVBAR: self::TYPE_HORIZONTAL; } switch ($type) { case self::TYPE_BASIC: case "form": case "b": case "f": return new FormBasic($params); case self::TYPE_HORIZONTAL: case "horiz": case "h": return new FormHorizontal($params); case self::TYPE_INLINE: case "i": return new FormInline($params); case self::TYPE_NAVBAR: case "n": return new FormNavbar($params); case self::TYPE_NAKED: return new FormNaked($params); default: throw ValueException::invalid_value($type, "form type"); } } }