Skip to content

Commit 26178ff

Browse files
committed
minor updates, linting fixes
Signed-off-by: bidi <bidi@apidemia.com>
1 parent 004f083 commit 26178ff

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

docs/book/v7/introduction/architecture-at-a-glance.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ Understanding the core structure is essential before diving into development.
77

88
Since version 6.0, Dotkernel API is organized into two distinct layers: Core and App.
99

10-
| Layer | Purpose | Items | Location |
11-
|-------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|----------------|
12-
| Core | The backbone of your application, the system-level infrastructure that handles fundamental concerns | Authentication & Authorization, Database, Common Services, Shared Entities | src/Core/src/ |
13-
| App | The project-specific features, "business logic" of your application | Routes, Handlers, Custom Services, Input Filters, Custom Middleware, Error Reporting | src/App/src/ |
10+
| Layer | Purpose | Items | Location |
11+
|-------|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|---------------|
12+
| Core | The backbone of your application, the system-level infrastructure that handles fundamental concerns | Authentication & Authorization, Database, Common Services, Shared Entities | src/Core/src/ |
13+
| App | The project-specific features, "business logic" of your application | Routes, Handlers, Custom Services, Input Filters, Custom Middleware, Error Reporting | src/App/src/ |
1414

1515
## Architecture
1616

@@ -91,13 +91,13 @@ Here's how a typical request flows through Dotkernel API:
9191

9292
## Key Components
9393

94-
| Component | Purpose | Example | Notes |
95-
|-----------------------|---------------------------------------------------------------------|----------------------------------------------------------------------------|---------------------------------------------------------------------------------|
96-
| Handlers<br>(PSR-15) | Single-action request handlers instead of multi-action controllers | `GetUserResourceHandler.php`<br>`PostUserResourceHandler.php` | Some of the benefits are separation of concerns, easier testing, clearer intent |
97-
| Services | The Business logic layer sits between the handlers and repositories | Business rules validation<br>Data transformation<br>Cross-cutting concerns | Execution flow:<br>Handler → Service → Repository → Database |
98-
| Repositories | Data access layer using Doctrine ORM | Query building<br>Entity persistence<br>Database abstraction | Only componenet that interacts with the database |
99-
| Input Filters | Request validation using Laminas InputFilter | Filter and validate all forms and other user inputs | Execution flow:<br>Request → InputFilter → Validation → Handler |
100-
| Entities | Representing database tables using Doctrine ORM | `class User { ... }` | Ensure consistency between database and application data |
94+
| Component | Purpose | Example | Notes |
95+
|-------------------|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------|
96+
| Handlers (PSR-15) | Process incoming HTTP requests, coordinate application logic/services, and return the HTTP response | `GetUserResourceHandler.php`, `PostUserResourceHandler.php` | Some of the benefits are: separation of concerns, easier testing, clearer intent |
97+
| Services | Contains the business logic layer that sits between the handlers and repositories | Business rules validation, Data transformation, Cross-cutting concerns | Execution flow: `Handler → Service → Repository → Database` |
98+
| Repositories | Data access layer using Doctrine ORM | Query building, Entity persistence, Database abstraction | The only component that interacts with the database |
99+
| Input Filters | Filter and validate requests using Laminas InputFilter | Login form, contact us form, `$_GET` and `$_POST` values, CLI arguments | Execution flow: `Request → InputFilter → Validation → Handler` |
100+
| Entities | Represent database tables using Doctrine ORM | `class User { ... }` | Ensure consistency between database and application data |
101101

102102
## Configuration Organization
103103

0 commit comments

Comments
 (0)