Pular para o conteúdo principal

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)