How jonathansilva/nano works
Nano is a PHP framework for building APIs and web applications. Its central workflow accepts an HTTP request, routes it by method and path, resolves request/response objects and dependencies, runs middleware, and dispatches an application handler. The framework also provides request validation and sanitization, database access, templates, JWTs, outbound HTTP, environment configuration, and a CLI. Several documented capabilities are represented at their enclosing source paths because their implementations were not sampled; links between those and the request lifecycle are omitted where wiring is uncertain.
Main entry points: Router.php Route dispatch · Request.php Request data · Env.php Environment config · Instance.php Router instance
Components 21
HTTP lifecycle
- Router instance
src/Core/Router/Instance.php - Route dispatch
src/Core/Router/Router.php - Request data
src/Core/Router/Request.php - Response
src/Core/Router/Response.php - HTTP contracts
src/Core/Router/RequestInterface.php - Response contract
src/Core/Router/ResponseInterface.php - CORS support
src/Core/Router
Security tools
- Input validation
src/Core/Security/Validator.php - Input sanitization
src/Core/Security/Sanitize.php - JWT tokens
src/Core/Security/JWT.php - CSRF protection
src/Core/Security
Application services
- Database connection
src/Core/Database.php - Template engine
src/Core/View/Template.php - Outbound HTTP
src/Core/Curl.php
Runtime utilities
- Dependency container
src/Core/Container.php - Error handling
src/Core/Error.php - Environment config
src/Core/Env.php - Nano CLI
nano
Other components
- HTTP client
- App handlers
- Middleware
Connections 17
- HTTP client → Router instance: starts app
- Router instance → Route dispatch: creates
- Route dispatch → Request data: resolves
- Route dispatch → Response: resolves
- Route dispatch → Dependency container: resolves dependencies
- Route dispatch → Middleware: dispatches
- Route dispatch → App handlers: dispatches
- Request data → Input validation: validates with
- Request data → Input sanitization: sanitizes with
- Request data → Outbound HTTP: creates
- Dependency container → Database connection: resolves PDO via
- Database connection → Environment config: reads settings
- JWT tokens → Environment config: reads settings
- Template engine → Environment config: reads settings
- Request data → Environment config: reads cookie settings
- HTTP client → Request data: sends HTTP
- Response → HTTP client: sends response