mepihindeveloper / php-query-param
Component for working with query string params
Installs: 23
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/mepihindeveloper/php-query-param
Requires
- php: >=7.4
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.0.0
- codeception/module-phpbrowser: ^1.0.0
This package is auto-updated.
Last update: 2025-10-05 15:08:14 UTC
README
Компонент для работы с параметрами строки запроса. Основной функционал направлен на формирование параметров посредством реализации шаблона проектирования "Строитель".
Структура
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'
Доступные методы
ParamInterface
| Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
|---|---|---|---|---|
| getName | string | Получает название ключа параметра | ||
| getValue | mixed | Получает значение параметра |
ParamBuilder
| Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
|---|---|---|---|---|
| __construct(string $paramClass = Param::class) | Класс объекта Param. Реализуется через Object::class | |||
| setName(string $name) | Название ключа | ParamBuilder | Устанавливает имя параметра (ключ) | |
| setValue($value) | Значение параметра | ParamBuilder | Устанавливает значение параметра | |
| build | Наследника класса Param или сам класс Param, если наследник не задан | ParamDataException | Формирует объект параметра |
Контакты
Вы можете связаться со мной в социальной сети ВКонтакте: ВКонтакте: Максим Епихин
Если удобно писать на почту, то можете воспользоваться этим адресом: mepihindeveloper@gmail.com
Мой канал на YouTube, который посвящен разработке веб и игровых проектов: YouTube: Максим Епихин
Поддержать меня можно переводом на Яндекс.Деньги: Денежный перевод