Компонент для работы с параметрами строки запроса. Основной функционал направлен на формирование параметров посредством реализации шаблона проектирования "Строитель".
src/
--- exceptions/
------ ParamDataException.php
--- interfaces/
------ ParamInterface.php
--- Param.php
--- ParamAbstract.php
--- ParamBuilder.php
В директории interfaces
хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации
собственного класса Param
. Класс Param
выступает в качестве объекта параметра строки запроса.
В директории exceptions
хранятся необходимые исключения. Исключение ParamDataException
необходимо
для идентификации ошибки отсутствия ключа (названия) параметра поиска.
Класс Param
реализует сам параметр. Собственные классы параметры должны наследоваться от класса Param
.
Класс ParamAbstract
реализует общую логику для всех параметров. В данном случае, хранит в себе необходимые свойства объектов.
Класс ParamBuilder
реализует логику формирования объекта параметра класса Param
.
Примерная реализация формирования параметра:
<?php
declare(strict_types = 1);
use mepihindeveloper\components\query\param\Param;
use mepihindeveloper\components\query\param\ParamBuilder;
require_once __DIR__ . '/vendor/autoload.php';
$param = (new ParamBuilder(Param::class))->setName('a')->setValue('1')->build();
echo $param->getName(); // Выведет имя параметра 'a'
print_r($param->getValue()); // Выведет значение '1' параметра 'a'
Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
---|---|---|---|---|
getName | string | Получает название ключа параметра | ||
getValue | mixed | Получает значение параметра |
Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
---|---|---|---|---|
__construct(string $paramClass = Param::class) | Класс объекта Param. Реализуется через Object::class | |||
setName(string $name) | Название ключа | ParamBuilder | Устанавливает имя параметра (ключ) | |
setValue($value) | Значение параметра | ParamBuilder | Устанавливает значение параметра | |
build | Наследника класса Param или сам класс Param, если наследник не задан | ParamDataException | Формирует объект параметра |
Вы можете связаться со мной в социальной сети ВКонтакте: ВКонтакте: Максим Епихин
Если удобно писать на почту, то можете воспользоваться этим адресом: mepihindeveloper@gmail.com
Мой канал на YouTube, который посвящен разработке веб и игровых проектов: YouTube: Максим Епихин
Поддержать меня можно переводом на Яндекс.Деньги: Денежный перевод