788ddcd0b5
- Establish feature-based architecture with clear separation between Logic, Data, and Shared layers - Define directory structure conventions for controllers, entities, DTOs, managers, mappers, models, processors, providers, repositories, and services - Implement Symfony 7.4+ compliance with proper Request handling (UI layer only) - Enforce PHP 8+ attributes usage instead of annotations - Set up proper DTO usage in UseCases with immutable properties - Configure repository pattern with interfaces in Logic layer and implementations in Data layer - Implement strict separation of concerns with UI layer handling Request objects exclusively - Define clear naming conventions (PascalCase for feature names) - Add shared components directory for reusable elements across features - Establish HTTP status code constants usage instead of magic numbers - Configure proper file placement for controllers in UI/Frontend, UI/Api, and UI/CLI subdirectories - Enforce modern PHP practices with explicit return types and strict typing This commit lays the foundation for a maintainable, scalable Symfony 7.4+ application following clean architecture principles and modern coding standards.
10 lines
751 B
Markdown
10 lines
751 B
Markdown
---
|
|
globs: src/Logic/**/*Controller.php, src/Logic/**/Manager/*.php
|
|
description: Workflows werden verwendet, wenn eine Controller-Aktion oder ein
|
|
Manager mehrere UseCases koordinieren muss. Dies sorgt für saubere Trennung
|
|
von Concerns, Wiederverwendbarkeit einzelner UseCases und bessere Testbarkeit.
|
|
Der Workflow definiert die Reihenfolge und Abhängigkeiten zwischen UseCases.
|
|
alwaysApply: false
|
|
---
|
|
|
|
Wenn mehrere UseCases kombiniert oder in einer bestimmten Reihenfolge ausgeführt werden müssen, ist ein Workflow zu verwenden. Workflows orchestrieren die Ausführung mehrerer UseCases und kapseln komplexe Geschäftsprozesse. Sie gehören in /src/Logic/[FeatureName]/Workflow und werden vom Manager aufgerufen, nicht direkt vom Controller. |