PHPackages                             mepihindeveloper/php-query-param - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mepihindeveloper/php-query-param

ActiveLibrary

mepihindeveloper/php-query-param
================================

Component for working with query string params

v1.0.3(3y ago)0241MITPHPPHP &gt;=7.4

Since Sep 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/mepihindeveloper/php-query-param)[ Packagist](https://packagist.org/packages/mepihindeveloper/php-query-param)[ RSS](/packages/mepihindeveloper-php-query-param/feed)WikiDiscussions stable Synced 1mo ago

READMEChangelog (4)Dependencies (3)Versions (5)Used By (1)

php-query-param
===============

[](#php-query-param)

[![release](https://camo.githubusercontent.com/3e117c3941a0c4974d8613afe1e79dcb12731f597ca02a6a068e54f1bd5b4309/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d3f6c6162656c3d76657273696f6e)](https://camo.githubusercontent.com/3e117c3941a0c4974d8613afe1e79dcb12731f597ca02a6a068e54f1bd5b4309/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d3f6c6162656c3d76657273696f6e)[![Packagist Version](https://camo.githubusercontent.com/070f3db98fdda04b8af57ddf1478ea01b2a41783faabcacd7febd77471a4dff2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d)](https://packagist.org/packages/mepihindeveloper/php-query-param)[![PHP Version Require](https://camo.githubusercontent.com/06757a028548b482c5b3156b66b40758bbffa9bc2fca8fc6c606982baeb820b0/687474703a2f2f706f7365722e707567782e6f72672f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d2f726571756972652f706870)](https://packagist.org/packages/mepihindeveloper/php-query-param)[![license](https://camo.githubusercontent.com/2fae846b4f60983e67890fc70c0c99ecd9d7e293923d899c32518a996e8b0d8e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d)](https://camo.githubusercontent.com/2fae846b4f60983e67890fc70c0c99ecd9d7e293923d899c32518a996e8b0d8e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d)

[![build](https://github.com/mepihindeveloper/php-query-param/actions/workflows/php.yml/badge.svg?branch=stable)](https://github.com/mepihindeveloper/php-query-param/actions/workflows/php.yml/badge.svg?branch=stable)[![codecov](https://camo.githubusercontent.com/29075c66590d26dab74c58fb246c39785db4bd0a502a07e561eaea9f5e8b20d1/68747470733a2f2f636f6465636f762e696f2f67682f6d65706968696e646576656c6f7065722f7068702d71756572792d706172616d2f6272616e63682f737461626c652f67726170682f62616467652e7376673f746f6b656e3d3336505037564b484b47)](https://codecov.io/gh/mepihindeveloper/php-query-param)

Компонент для работы с параметрами строки запроса. Основной функционал направлен на формирование параметров посредством реализации шаблона проектирования "Строитель".

Структура
=========

[](#структура)

```
src/
--- exceptions/
------ ParamDataException.php
--- interfaces/
------ ParamInterface.php
--- Param.php
--- ParamAbstract.php
--- ParamBuilder.php

```

В директории `interfaces` хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации собственного класса `Param`. Класс `Param` выступает в качестве объекта параметра строки запроса. В директории `exceptions` хранятся необходимые исключения. Исключение `ParamDataException` необходимо для идентификации ошибки отсутствия ключа (названия) параметра поиска.

Класс `Param` реализует сам параметр. Собственные классы параметры должны наследоваться от класса `Param`.

Класс `ParamAbstract` реализует общую логику для всех параметров. В данном случае, хранит в себе необходимые свойства объектов.

Класс `ParamBuilder` реализует логику формирования объекта параметра класса `Param`.

Примерная реализация формирования параметра:

```
