Utilities

The Utils module brings together the framework's cross-cutting utilities: cache, configuration, logging, multi-channel notifications, and PHP attribute scanner.


Module Structure

Utils/
├── Cache/
│   ├── Driver/ (FileDriver, RedisDriver, ArrayDriver)
│   ├── Commands/   CacheClearCommand
│   ├── Extension/  CacheControllerExtension
│   ├── CacheManager.php
│   └── CacheModule.php
├── Config/
│   ├── Templates/  (ApiConfig, AppConfig, AuthConfig, CacheConfig, DatabaseConfig, …)
│   ├── Writer/     ConfigTemplateWriter
│   ├── Commands/   GenerateDefaultConfigCommand, MakeConfigCommand
│   ├── Extension/  ConfigControllerExtension
│   ├── ConfigManager.php
│   └── ConfigModule.php
├── Logger/
│   ├── Collector/  LogCollector
│   ├── Extension/  LoggerControllerExtension
│   ├── LoggerManager.php
│   └── LoggerModule.php
├── Notification/
│   ├── Channel/    Email/, Slack/, Sms/ (Twilio, Vonage, Log)
│   ├── Collector/  NotificationCollector
│   ├── Enum/       NotificationEnum
│   ├── NotificationManager.php
│   └── NotificationModule.php
└── Scanner/
    ├── Extension/  ScannerControllerExtension
    ├── ScannerAttributeManager.php
    └── ScannerModule.php

Documentation by Component

ComponentDescriptionREADME
CacheFile / Redis / memory cache, remember patternCache/README.md
ConfigLoading of *.config.php, dot-notation access, test overrideConfig/README.md
LoggerRFC 5424 levels, channels, daily / size rotation, ZIP archivingLogger/README.md
NotificationEmail (PHPMailer), Slack (Webhook), SMS (Twilio/Vonage/Log)Notification/README.md
ScannerPHP 8 reflection on class, method, property, and parameter attributesScanner/README.md

Controller Extensions

MethodComponent
getCache()Cache
getConfig()Config
getLogger()Logger

CLI Commands

CommandComponentDescription
cache:clearCacheClears a project's cache
config:generateConfigGenerates the default config files
make:configConfigCreates a custom configuration file