PHPackages                             v.chetkov/php-clean-architecture - 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. v.chetkov/php-clean-architecture

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

v.chetkov/php-clean-architecture
================================

PHP Clean Architecture

0.1.4(2y ago)14557.8k↓31.1%7[1 issues](https://github.com/Chetkov/php-clean-architecture/issues)MITPHP

Since May 13Pushed 2y ago7 watchersCompare

[ Source](https://github.com/Chetkov/php-clean-architecture)[ Packagist](https://packagist.org/packages/v.chetkov/php-clean-architecture)[ RSS](/packages/vchetkov-php-clean-architecture/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (20)Used By (0)

To continue in English go to [README.en](README-EN.md)

PHP Clean Architecture
======================

[](#php-clean-architecture)

Инструмент для автоматизации контроля над качеством архитектуры приложений написанных на PHP, а также упрощения анализа и визуализации некоторых метрик.

Идея его создания была навеяна книгой "Чистая Архитектура" (Роберта Мартина). Если еще не читал, можешь ознакомиться с её ключевыми идеями, на которых базируется инструмент

Установка
---------

[](#установка)

```
composer require v.chetkov/php-clean-architecture --dev
```

Конфигурация
------------

[](#конфигурация)

Далее копируем образец конфига в корень проекта

```
cp vendor/v.chetkov/php-clean-architecture/example.phpca-config.php phpca-config.php
```

Все детали конфигурации подробно описаны в образце конфига , а также в статьях  и

Использование
-------------

[](#использование)

1. Формирование отчета для анализа.

```
vendor/bin/phpca-build-reports {?path/to/phpca-config.php}
```

Отчет визуализирует текущее состояние проекта, наглядно отображает взаимосвязи между компонентами, их силу, удалённость компонентов от главной последовательности, а также подсвечивает обнаруженные на основе конфига нежелательные зависимости и прочие архитектурные проблемы. [![image](https://user-images.githubusercontent.com/12594577/134708940-f53dc72e-8664-4e57-a3a7-4f6bb4ec965c.png)](https://user-images.githubusercontent.com/12594577/134708940-f53dc72e-8664-4e57-a3a7-4f6bb4ec965c.png)[![image](https://user-images.githubusercontent.com/12594577/134709361-fbe654bd-70f4-460c-a107-fb3956f064b0.png)](https://user-images.githubusercontent.com/12594577/134709361-fbe654bd-70f4-460c-a107-fb3956f064b0.png)

2. Check для CI.

```
vendor/bin/phpca-check {?path/to/phpca-config.php}
```

В случае нарушения кодом ограничений, заданных конфигом, информирует об обнаруженных проблемах и завершает выполнение с ошибкой. Рекомендуется добавить запуск этой команды в CI (это гарантирует соответствие кода, попавшего в сборку, настроенным ограничениям)

3. Разрешенное состояние.

```
vendor/bin/phpca-allow-current-state {?path/to/phpca-config.php}
```

Команда сохранит текущее состояние проекта, взаимосвязи между существующими классами, в отдельный файл. При последующих запусках phpca-check, проблемы относящиеся к сохраненному состоянию будут проигнорированы.

Это дает возможность легко подключать php-clean-architecture не только к новым проектам, но и к уже существующим, и уже имеющим проблемы, устранение которых требует времени.

4. Отчёт/Check по списку файлов

Если вы хотите осуществить проверку на наличие проблем или построить граф зависимостей и провести анализ не по всему проекту, а по некоторой его части (к примеру по списку изменённых файлов), вы можете установить значение переменной окружения *PHPCA\_ALLOWED\_PATHS*Пример использования:

```
export PHPCA_ALLOWED_PATHS=`git diff master --name-only` PHPCA_REPORTS_DIR='phpca-report'; vendor/bin/phpca-build-reports {?path/to/phpca-config.php}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community13

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~90 days

Recently: every ~192 days

Total

14

Last Release

1022d ago

### Community

Maintainers

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

---

Top Contributors

[![Chetkov](https://avatars.githubusercontent.com/u/12594577?v=4)](https://github.com/Chetkov "Chetkov (96 commits)")

---

Tags

architectureclean-architecturephpstatic-analysis

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/vchetkov-php-clean-architecture/health.svg)

```
[![Health](https://phpackages.com/badges/vchetkov-php-clean-architecture/health.svg)](https://phpackages.com/packages/vchetkov-php-clean-architecture)
```

###  Alternatives

[wallabag/wallabag

open source self hostable read-it-later web application

12.6k2.2k](/packages/wallabag-wallabag)[stfalcon/tinymce-bundle

This Bundle integrates TinyMCE WYSIWYG editor into a Symfony2 project.

2692.9M24](/packages/stfalcon-tinymce-bundle)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

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

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[leapt/core-bundle

Symfony LeaptCoreBundle

2529.1k4](/packages/leapt-core-bundle)

PHPackages © 2026

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