PHPackages                             qdenka/php-architecture-guardian - 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. qdenka/php-architecture-guardian

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

qdenka/php-architecture-guardian
================================

A tool for enforcing architectural principles in PHP projects

2.0(4mo ago)10MITPHPPHP ^8.1CI passing

Since May 15Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/QDenka/PHPArchitectureGuardian)[ Packagist](https://packagist.org/packages/qdenka/php-architecture-guardian)[ RSS](/packages/qdenka-php-architecture-guardian/feed)WikiDiscussions main Synced today

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

PHPArchitectureGuardian
=======================

[](#phparchitectureguardian)

[![Latest Version on Packagist](https://camo.githubusercontent.com/8b26b824bbcd1dac23e6b7e98bed31b9b50d3b752277fa07b027a615704e65e8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7164656e6b612f7068702d6172636869746563747572652d677561726469616e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/qdenka/php-architecture-guardian)[![GitHub Tests Action Status](https://camo.githubusercontent.com/a8faa61a97753386621062c6b6bc4b173e411cfda3099037580eac5e3392b3b8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f7164656e6b612f7068702d6172636869746563747572652d677561726469616e2f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/qdenka/php-architecture-guardian/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/b982fba81466cd5fce957b56a41deac7b87cce4a1d4761e73d713a1a183b8cee/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f7164656e6b612f7068702d6172636869746563747572652d677561726469616e2f436865636b253230262532306669782532307374796c696e673f6c6162656c3d636f64652532307374796c65)](https://github.com/qdenka/php-architecture-guardian/actions?query=workflow%3A%22Check+%26+fix+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/eaa927fa60d4d970fbf3f8072e83ce4e13473de977282d68472d6d551dbc8b6f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7164656e6b612f7068702d6172636869746563747572652d677561726469616e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/qdenka/php-architecture-guardian)

**PHPArchitectureGuardian** is a powerful static analysis tool that helps you enforce architectural principles in your PHP projects. It ensures your code follows architectural patterns like Domain-Driven Design (DDD), Clean Architecture, or Hexagonal Architecture (Ports &amp; Adapters).

Features
--------

[](#features)

- 🏛️ Verify adherence to various architectural patterns:

    - **Domain-Driven Design (DDD)**
    - **Clean Architecture**
    - **Hexagonal Architecture (Ports &amp; Adapters)**
    - **Custom architecture rules**
- 🔍 Enforce architectural constraints:

    - Prevent improper dependencies between layers
    - Ensure correct implementation of interfaces
    - Validate proper namespace usage
    - Enforce naming conventions
- 🛠️ Highly customizable:

    - Configure namespaces for different architecture layers
    - Create custom rules with specific validation logic
    - Define custom naming conventions
    - Specify custom dependency constraints
- 📊 Comprehensive reporting:

    - Clear violation descriptions
    - Severity levels for different issues
    - Configurable output formats

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require --dev qdenka/php-architecture-guardian
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

Run the tool in your project directory:

```
vendor/bin/php-architecture-guardian
```

### Configuration

[](#configuration)

Create a `.architecture-guardian.php` configuration file in your project root:

```
