This commit is contained in:
kali
2024-03-15 14:17:25 +03:00
commit 000e0acfb8
13 changed files with 492 additions and 0 deletions

33
src/inputs/Button.php Normal file
View File

@ -0,0 +1,33 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class Button
{
use CreateParams;
private string $name;
private string $value;
private array $paramsArray;
public function __construct(string $name, string $value, array $paramsArray = [])
{
$this->name = $name;
$this->paramsArray = $paramsArray;
$this->value = $value;
}
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<button name='$this->name' $paramsString>$this->value</button>";
}
public static function build(string $name, string $value, array $paramsArray = []): void
{
$input = new self($name, $value, $paramsArray);
$input->create();
}
}

34
src/inputs/Checkbox.php Normal file
View File

@ -0,0 +1,34 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class Checkbox
{
use CreateParams;
private string $name;
private string $value;
private array $paramsArray;
public function __construct(string $name, string $value, array $paramsArray = [])
{
$this->name = $name;
$this->value = $value;
$this->paramsArray = $paramsArray;
}
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<input name='$this->name' type='checkbox' value='$this->value' $paramsString >";
}
public static function build(string $name, string $value, array $paramsArray): void
{
$checkbox = new self($name, $value, $paramsArray);
$checkbox->create();
}
}

35
src/inputs/Label.php Normal file
View File

@ -0,0 +1,35 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class Label
{
use CreateParams;
private string $title;
private array $paramsArray;
public function __construct(string $title, array $paramsArray = [])
{
$this->title = $title;
$this->paramsArray = $paramsArray;
}
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<label $paramsString >$this->title</label>";
}
public static function build(string $title, array $paramsArray = [])
{
$label = new self($title, $paramsArray);
$label->create();
}
}

36
src/inputs/Radio.php Normal file
View File

@ -0,0 +1,36 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class Radio
{
use CreateParams;
private $name;
private $paramsArray;
public function __construct(string $name, array $paramsArray = [])
{
$this->name = $name;
$this->paramsArray = $paramsArray;
}
/**
* @return void
*/
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<input name='$this->name' type='radio' $paramsString>";
}
/**
* @param string $name
* @param array $paramsArray
* @return void
*/
public static function build(string $name, array $paramsArray = []): void
{
$label = new self($name, $paramsArray);
$label->create();
}
}

55
src/inputs/Select.php Normal file
View File

@ -0,0 +1,55 @@
<?php
namespace src\inputs;
use src\traits\CreateOption;
use src\traits\CreateParams;
class Select
{
use CreateParams;
use CreateOption;
private $name;
private $options;
private $value;
private $paramsArray;
/**
* @param string $name
* @param array $options
* @param $value
* @param array $paramsArray
*/
public function __construct(string $name, array $options = [], $value = null, array $paramsArray = [])
{
$this->name = $name;
$this->options = $options;
$this->value = $value;
$this->paramsArray = $paramsArray;
}
/**
* @return void
*/
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
$optionsString = $this->createOption($this->options, $this->value);
echo "<select name='$this->name' $paramsString>$optionsString</select>";
}
/**
* @param string $name
* @param array $options
* @param $value
* @param array $paramsArray
* @return void
*/
public static function build(string $name, array $options = [], $value = null, array $paramsArray = []): void
{
$textarea = new self($name, $options, $value, $paramsArray);
$textarea->create();
}
}

47
src/inputs/TextArea.php Normal file
View File

@ -0,0 +1,47 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class TextArea
{
use CreateParams;
private $name;
private $value;
private $paramsArray;
/**
* @param string $name
* @param string $value
* @param array $paramsArray
*/
public function __construct(string $name, string $value, array $paramsArray = [])
{
$this->name = $name;
$this->value = $value;
$this->paramsArray = $paramsArray;
}
/**
* @return void
*/
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<textarea name='$this->name' $paramsString>$this->value</textarea>";
}
/**
* @param string $name
* @param string $value
* @param array $paramsArray
* @return void
*/
public static function build(string $name, string $value, array $paramsArray = []): void
{
$textarea = new self($name, $value, $paramsArray);
$textarea->create();
}
}

45
src/inputs/TextInput.php Normal file
View File

@ -0,0 +1,45 @@
<?php
namespace src\inputs;
use src\traits\CreateParams;
class TextInput
{
use CreateParams;
private string $name;
private array $paramsArray;
/**
* @param string $name
* @param array $paramsArray
*/
public function __construct(string $name, array $paramsArray = [])
{
$this->name = $name;
$this->paramsArray = $paramsArray;
}
/**
* @return void
*/
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<input name='$this->name' $paramsString >";
}
/**
* @param string $name
* @param array $paramsArray
* @return void
*/
public static function build(string $name, array $paramsArray = []): void
{
$input = new self($name, $paramsArray);
$input->create();
}
}