This commit is contained in:
kali
2024-03-18 17:52:16 +03:00
parent a73c5e8170
commit bd456e6331
15 changed files with 532 additions and 23 deletions

View File

@ -3,19 +3,43 @@
namespace itguild\forms;
use itguild\forms\builders\SelectBuilder;
use itguild\forms\builders\TextAreaBuilder;
use itguild\forms\debug\Debug;
use itguild\forms\inputs\BaseInput;
use itguild\forms\inputs\Select;
use itguild\forms\inputs\TextArea;
use itguild\forms\templates\Template;
class ActiveForm
{
private BaseInput $fieldObject;
/**
* @param string $action
* @return void
*/
public function beginForm(string $action): void
{
echo "<form method='POST' action='$action'>";
}
/**
* @return void
*/
public function endForm(): void
{
echo "</form>";
}
public function field($class, string $name, array $params = [])
{
if ($class === Select::class){
$this->fieldObject = SelectBuilder::build($name, $params);
}
if ($class === TextArea::class){
$this->fieldObject = TextAreaBuilder::build($name, $params);
}
else {
$this->fieldObject = new $class($name, $params);
}
@ -37,6 +61,13 @@ class ActiveForm
return $this;
}
public function setTemplate($template): self
{
$this->fieldObject->setTemplate($template);
return $this;
}
public function render()
{
$this->fieldObject->create();