PHPackages                             mepihindeveloper/php-service-locator - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. mepihindeveloper/php-service-locator

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

mepihindeveloper/php-service-locator
====================================

Компонент-контейнер для работы с экземплярами классов-служб

v1.0.0(3y ago)03MITPHPPHP &gt;=7.4

Since Nov 1Pushed 3y ago1 watchersCompare

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

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

php-service-locator
===================

[](#php-service-locator)

[![release](https://camo.githubusercontent.com/52d4bc1ef35f1a55f6a466b92c50cda6fe641a9a29801d9f7706ee5a9fb3daee/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f723f6c6162656c3d76657273696f6e)](https://camo.githubusercontent.com/52d4bc1ef35f1a55f6a466b92c50cda6fe641a9a29801d9f7706ee5a9fb3daee/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f723f6c6162656c3d76657273696f6e)[![Packagist Version](https://camo.githubusercontent.com/61e9dd5a83c4f1d95f996024bb4cd93356ae1dce584ef2e563cddf82942cd00c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f72)](https://packagist.org/packages/mepihindeveloper/php-service-locator)[![PHP Version Require](https://camo.githubusercontent.com/34672a9d7df6d035d9e6cf4fc5c785c63ff95ff004fc844bec3852f1c9975048/687474703a2f2f706f7365722e707567782e6f72672f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f722f726571756972652f706870)](https://packagist.org/packages/mepihindeveloper/php-service-locator)[![license](https://camo.githubusercontent.com/ea45fdfb554290e0d08f2abd92c5f6456bcf6ea7a9f794e865399657bb54cc65/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f72)](https://camo.githubusercontent.com/ea45fdfb554290e0d08f2abd92c5f6456bcf6ea7a9f794e865399657bb54cc65/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f72)

[![build](https://github.com/mepihindeveloper/php-service-locator/actions/workflows/php.yml/badge.svg?branch=stable)](https://github.com/mepihindeveloper/php-service-locator/actions/workflows/php.yml/badge.svg?branch=stable)[![codecov](https://camo.githubusercontent.com/c97fe1314d6681c7b0988230251787efda48e2ff0ac65d26714fcf19fea6a8fd/68747470733a2f2f636f6465636f762e696f2f67682f6d65706968696e646576656c6f7065722f7068702d736572766963652d6c6f6361746f722f6272616e63682f737461626c652f67726170682f62616467652e7376673f746f6b656e3d3336505037564b484b47)](https://codecov.io/gh/mepihindeveloper/php-service-locator)

Компонент-контейнер для работы с экземплярами классов-служб. Реализует логику контейнера служб по шаблону проектирования "Локатор служб".

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

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

```
src/
--- exceptions/
------ ContainerObjectInvalidTypeException.php
--- interfaces/
------ ServiceInterface.php
--- ServiceLocator.php

```

В директории `interfaces` хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации собственных классов служб. Класс `ServiceLocator` выступает в качестве контейнера служб. В директории `exceptions` хранятся необходимые исключения. Исключение `QueryStringNotFoundException` исключение необходимо для обозначения ошибки типа служб в контейнере.

Примерная реализация функционала:

```
