first
This commit is contained in:
86
src/Form.php
Normal file
86
src/Form.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace Itguild\Form2;
|
||||
|
||||
class Form
|
||||
{
|
||||
protected array $data = [];
|
||||
protected array $formParams = [];
|
||||
protected string $formParamsStr = '';
|
||||
protected string $html = '';
|
||||
|
||||
public function __construct(array $formParams = [])
|
||||
{
|
||||
$this->formParams = $formParams;
|
||||
$this->createParams();
|
||||
}
|
||||
|
||||
protected function _start(): void
|
||||
{
|
||||
$this->html .= "<form $this->formParamsStr>";
|
||||
}
|
||||
|
||||
protected function _end(): void
|
||||
{
|
||||
$this->html .= "</form>";
|
||||
}
|
||||
|
||||
public function render(): void
|
||||
{
|
||||
$this->_start();
|
||||
$this->createFields();
|
||||
$this->_end();
|
||||
echo $this->html;
|
||||
}
|
||||
|
||||
public function fetch(): string
|
||||
{
|
||||
$this->_start();
|
||||
$this->createFields();
|
||||
$this->_end();
|
||||
return $this->html;
|
||||
}
|
||||
|
||||
public function field(string $type, string $name, array $params = []): void
|
||||
{
|
||||
$fieldArr = [];
|
||||
$fieldArr['type'] = $type;
|
||||
$fieldArr = array_merge($fieldArr, $params);
|
||||
$this->data[$name] = $fieldArr;
|
||||
}
|
||||
|
||||
public function activeField()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $arr
|
||||
* @return void
|
||||
*/
|
||||
public function load(array $arr): void
|
||||
{
|
||||
$this->data = $arr;
|
||||
}
|
||||
|
||||
public function createFields(): void
|
||||
{
|
||||
foreach ($this->data as $key => $input) {
|
||||
$this->html .= "</br><label for='$key'>" . $input['label'] . "</label>";
|
||||
$this->html .= "<input type='" . $input['type'] . "' name='$key' id='" . $input['id'] . "' class='" . $input['class'] . "' >";
|
||||
}
|
||||
}
|
||||
|
||||
protected function createParams(): void
|
||||
{
|
||||
foreach ($this->formParams as $key => $param){
|
||||
$this->formParamsStr .= " $key='$param'";
|
||||
}
|
||||
}
|
||||
|
||||
private function setSome()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user