fix(Console): add void as valid return type for command methods
The MethodSignatureAnalyzer was rejecting command methods with void return type, causing the schedule:run command to fail validation.
This commit is contained in:
@@ -159,10 +159,81 @@ function processUser(User $user): UserProfile
|
||||
```
|
||||
|
||||
**Available Value Objects**:
|
||||
- Core: Email, RGBColor, Url, Hash, Version, Coordinates
|
||||
- Core: Email, RGBColor, Url, Hash, Version, Coordinates, ClassName, PhpNamespace
|
||||
- HTTP: FlashMessage, ValidationError, RouteParameters
|
||||
- Security: OWASPEventIdentifier, MaskedEmail, ThreatLevel
|
||||
- Performance: Measurement, MetricContext, MemorySummary
|
||||
- Filesystem: FilePath
|
||||
- Framework: FrameworkModule, FrameworkModuleRegistry
|
||||
|
||||
## Framework Module System
|
||||
|
||||
Das Framework verwendet ein modulares System, bei dem jeder Top-Level-Ordner in `src/Framework/` als eigenständiges Modul behandelt wird.
|
||||
|
||||
### FrameworkModule Value Object
|
||||
|
||||
Repräsentiert ein einzelnes Framework-Modul:
|
||||
|
||||
```php
|
||||
use App\Framework\Core\ValueObjects\FrameworkModule;
|
||||
use App\Framework\Filesystem\ValueObjects\FilePath;
|
||||
|
||||
// Modul erstellen
|
||||
$basePath = FilePath::create('/var/www/html/src/Framework');
|
||||
$httpModule = FrameworkModule::create('Http', $basePath);
|
||||
|
||||
// Namespace-Zugehörigkeit prüfen
|
||||
$namespace = PhpNamespace::fromString('App\\Framework\\Http\\Middlewares\\Auth');
|
||||
$httpModule->containsNamespace($namespace); // true
|
||||
|
||||
// Klassen-Zugehörigkeit prüfen
|
||||
$className = ClassName::create('App\\Framework\\Http\\Request');
|
||||
$httpModule->containsClass($className); // true
|
||||
|
||||
// Relative Namespace ermitteln
|
||||
$relative = $httpModule->getRelativeNamespace($namespace);
|
||||
// Returns: PhpNamespace für 'Middlewares\\Auth'
|
||||
```
|
||||
|
||||
### FrameworkModuleRegistry
|
||||
|
||||
Registry aller Framework-Module mit Lookup-Funktionalität:
|
||||
|
||||
```php
|
||||
use App\Framework\Core\ValueObjects\FrameworkModuleRegistry;
|
||||
|
||||
// Automatische Discovery aller Module
|
||||
$registry = FrameworkModuleRegistry::discover($frameworkPath);
|
||||
|
||||
// Oder manuell mit variadic constructor
|
||||
$registry = new FrameworkModuleRegistry(
|
||||
FrameworkModule::create('Http', $basePath),
|
||||
FrameworkModule::create('Database', $basePath),
|
||||
FrameworkModule::create('Cache', $basePath)
|
||||
);
|
||||
|
||||
// Modul für Namespace finden
|
||||
$module = $registry->getModuleForNamespace($namespace);
|
||||
|
||||
// Modul für Klasse finden
|
||||
$module = $registry->getModuleForClass($className);
|
||||
|
||||
// Prüfen ob zwei Klassen im selben Modul liegen
|
||||
$inSame = $registry->classesInSameModule($classA, $classB);
|
||||
|
||||
// Prüfen ob zwei Namespaces im selben Modul liegen
|
||||
$inSame = $registry->inSameModule($namespaceA, $namespaceB);
|
||||
|
||||
// Prüfen ob zwei Dateien im selben Modul liegen
|
||||
$inSame = $registry->filesInSameModule($filePathA, $filePathB);
|
||||
```
|
||||
|
||||
### Use Cases
|
||||
|
||||
**Dependency Analysis**: Prüfen ob Abhängigkeiten zwischen Modulen bestehen
|
||||
**Module Boundaries**: Sicherstellen dass Module-interne Klassen nicht extern verwendet werden
|
||||
**Circular Dependency Detection**: Erkennen von zirkulären Modul-Abhängigkeiten
|
||||
**Code Organization**: Validieren dass Klassen im richtigen Modul liegen
|
||||
|
||||
## Middleware System
|
||||
|
||||
|
||||
Reference in New Issue
Block a user