PHPackages                             mechta-market/php-enhance - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. mechta-market/php-enhance

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mechta-market/php-enhance
=========================

1.2.0(1y ago)015PHPPHP ^8.1

Since Jul 3Pushed 1y agoCompare

[ Source](https://github.com/mechta-market/php-enhance)[ Packagist](https://packagist.org/packages/mechta-market/php-enhance)[ RSS](/packages/mechta-market-php-enhance/feed)WikiDiscussions master Synced 1mo ago

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

Пакет для работы с базовыми классами
------------------------------------

[](#пакет-для-работы-с-базовыми-классами)

### BaseUsecase

[](#baseusecase)

базовый класс для usecase, наследники которого, агрегируют сервисы, запускают процессы, вызывают бизнес логику

### BaseInput

[](#baseinput)

базовый класс для получения данных из запроса и передаче в usecase

### BaseOutput

[](#baseoutput)

базовый класс для сбора данных по результатам работы с usecase

### Error

[](#error)

класс для хранения информации об ошибке или исключении

### OutputError

[](#outputerror)

класс для хранения данных для http запросов

### Collection

[](#collection)

базовый класс для работы с массивами, примеры в ErrorCollection.php, OutputErrorCollection.php

### Логирование

[](#логирование)

Используйте любой логгер соответствующий `Psr\Log\LoggerInterface`, подгружается в юскейс через конструктор

### Пример использования Usecase в контроллере

[](#пример-использования-usecase-в-контроллере)

```
public function index(Request $request, SomeUsecase $usecase)
{
    $input = new SomeInput($request->get('product_id'));

    $usecase->setInput($input);

    $usecase->execute();

    $response = $usecase->getOutput();

    if ($response->isFailed()) {
        abort($response->getStatusCode(), $response->getArrayResponse());
    }

    return $response->getArrayResponse();
}
```

### Пример работы usecase

[](#пример-работы-usecase)

```
class SomeInput extends BaseInput
{
    public function __construct(private int $product_id){
    }

    public function getProductId(): int {
        return $this->product_id;
    }
}

class SomeUsecase extends BaseUsecase
{
    /**
     * @property SomeUsecaseData $data
     * @property SomeInput $input
     */
    public function execute(): void
    {
        try {
            $product_id = $this->input->getProductId();

            if ($product_id === 0) {
                throw new \Exception("Product id is zero");
            }

            $product = new Product(
                $product_id, "iPhone 15 Pro Max Ultra GigaByte",
                "iphone-15-super-puper", 999990
            );

            $this->data->setProduct($product);

        } catch (\Exception $ex) {
            $this->errors->addClientError($ex->getMessage(), 400);
        } catch (\Throwable $th) {
            $this->errors->addServerError($th->getMessage());
        }
    }

    protected function setData(): void
    {
        $this->data = new SomeUsecaseData();
    }
}

class SomeUsecaseData implements UsecaseDataInterface
{
    private Product $product;

    public function setProduct(Product $product): void {
        $this->product = $product;
    }

    public function getData(): array
    {
        return [
            "id" => $this->product->getId(),
            "name" => $this->product->getName(),
            "code" => $this->product->getCode(),
            "price" => $this->product->getPrice(),
        ];
    }
}
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

4

Last Release

663d ago

PHP version history (2 changes)1.0.0PHP ^8.2

1.1.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/a968e03e4121a58d7cbb854f230247121c9c9fba5f8837b1bbb4fbb89e3f1227?d=identicon)[Rustembek](/maintainers/Rustembek)

---

Top Contributors

[![kaliyev](https://avatars.githubusercontent.com/u/15031244?v=4)](https://github.com/kaliyev "kaliyev (22 commits)")[![kaliyev-r](https://avatars.githubusercontent.com/u/88377573?v=4)](https://github.com/kaliyev-r "kaliyev-r (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mechta-market-php-enhance/health.svg)

```
[![Health](https://phpackages.com/badges/mechta-market-php-enhance/health.svg)](https://phpackages.com/packages/mechta-market-php-enhance)
```

###  Alternatives

[ecotone/ecotone

Supporting you in building DDD, CQRS, Event Sourcing applications with ease.

558549.8k17](/packages/ecotone-ecotone)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k17](/packages/civicrm-civicrm-core)[j0k3r/php-readability

Automatic article extraction from HTML

186808.8k6](/packages/j0k3r-php-readability)[symfony/ai-platform

PHP library for interacting with AI platform provider.

51927.7k134](/packages/symfony-ai-platform)[symfony/ai-agent

PHP library for building agentic applications.

30536.7k44](/packages/symfony-ai-agent)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
