PHP Components
Class Dependency
Component Description
This diagram shows the dependency relationships between the PHP components used in the REST Reference Architecture project.
Direct Dependencies
The project directly depends on the following byjg components:
- byjg/config - A very basic and minimalist PSR-11 implementation for config management and dependency injection
- byjg/anydataset-db - Relational database abstraction layer, part of the Anydataset project
- byjg/micro-orm - A micro framework for creating a very simple decoupled ORM
- byjg/authuser - Simple and customizable library for user authentication using repository and service layer architecture
- byjg/mailwrapper - Lightweight wrapper for sending email with a decoupled interface
- byjg/restserver - Create RESTful services with customizable output handlers and auto-generate routes from swagger.json
- byjg/swagger-test - Tools for testing REST calls based on the OpenAPI specification using PHPUnit
- byjg/migration - Framework-agnostic database migration tool using pure SQL commands
- byjg/scriptify - Transform any PHP class into an executable script callable from the command line
- byjg/shortid - Create short string IDs from numbers
- byjg/jinja-php - Lightweight PHP implementation of the Jinja2 template engine
Core Infrastructure Components
These are the foundational components used by multiple dependencies:
- byjg/anydataset - Agnostic data source abstraction layer
- byjg/serializer - Serialization utilities for JSON, XML, and YAML
- byjg/xmlutil - XML manipulation utilities
- byjg/uri - URI manipulation and PSR-7 HTTP message support
- byjg/cache-engine - PSR-6 and PSR-16 cache implementation
- byjg/jwt-wrapper - JWT token handling wrapper
- byjg/webrequest - PSR-18 HTTP client implementation
- byjg/convert - Conversion utilities
- byjg/singleton-pattern - Singleton pattern implementation
Dependency Legend
- o--o - Required dependency (composer require)
- Main (green) - The main project (REST Reference Architecture)
- Default (white) - Standard dependencies
External Dependencies
The project also depends on several external packages:
- zircote/swagger-php - Generate interactive documentation for RESTful APIs using PHP attributes
- Various PSR interfaces (PSR-3, PSR-6, PSR-7, PSR-11, PSR-16, PSR-18)
- symfony/ components (yaml, console, etc.)
- firebase/php-jwt - JWT implementation
- phpmailer/phpmailer - Email sending library
- aws/aws-sdk-php - AWS SDK for PHP (used by mailwrapper)