Загрузить файлы в «src/inputs»

This commit is contained in:
5 changed files with 166 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();
}
}

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

@@ -0,0 +1,27 @@
<?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;
}
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
echo "<input name='$this->name' type='radio' $paramsString>";
}
public static function build(string $name, array $paramsArray = []): void
{
$label = new self($name, $paramsArray);
$label->create();
}
}

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

@@ -0,0 +1,37 @@
<?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;
public function __construct(string $name, array $options = [], $value = null, array $paramsArray = [])
{
$this->name = $name;
$this->options = $options;
$this->value = $value;
$this->paramsArray = $paramsArray;
}
public function create(): void
{
$paramsString = $this->createParams($this->paramsArray);
$optionsString = $this->createOption($this->options, $this->value);
echo "<select name='$this->name' $paramsString>$optionsString</select>";
}
public static function build(string $name, array $options = [], $value = null, array $paramsArray = []): void
{
$textarea = new self($name, $options, $value, $paramsArray);
$textarea->create();
}
}