How emirustaoglu/novaphp works
NovaPhp is a PHP web framework with a small application example and a command-line interface. Its principal request path is an HTTP request entering through the public front controller, bootstrapping the application, matching a route, invoking a controller, and rendering a view. The tree also shows database access and schema/migration support, developer commands, authentication middleware, mail, logging, and language resources. Several of these subsystems are represented by paths only; their internal wiring is not established by the sampled source.
Main entry points: Command.php Command base · web.php Web routes · DatabaseManager.php Connection manager · index.php Front controller
Components 32
HTTP application
- Front controller
public/index.php - Application bootstrap
core/Bootstrap.php - Web routes
routes/web.php - Auth middleware
app/middlewares/UserAuth.php - User middleware
app/middlewares/UserMiddleware.php - Home controller
app/controllers/HomeController.php - Controller base
core/Controller.php - View rendering
core/View.php - Welcome view
resources/views/welcome.blade.php
Data and schema
- Database API
core/DB.php - Connection manager
core/DatabaseManager.php - Query builder
core/QueryBuilder.php - Database config
config/database.php - Schema tools
core/Schema/Schema.php - Schema blueprint
core/Schema/Blueprint.php - Migration manager
app/Console/DB/MigrationManager.php - Seed data
database/seeds/2025_03_14_124218_exampleSeed.php
Console tooling
- CLI entry
app/Console/CLI.php - Command base
app/Console/Command.php - Make commands
app/Console/Commands/Make/Controller.php - Serve command
app/Console/Commands/Serve.php - Migration commands
app/Console/Commands/Migrate.php - Seed command
app/Console/Commands/Seeds.php
Framework services
- Mail service
core/Mail/Mail.php - Logging
core/Logger.php - Logging config
config/logging.php - Language resources
resources/languages/en.php - Application config
config/app.php
Other components
- HTTP client
- Developer
- Mailer service
- SQL database
Connections 27
- HTTP client → Front controller: requests
- Front controller → Application bootstrap: creates and runs
- Front controller → Web routes: loads
- Web routes → Home controller: dispatches
- Web routes → Auth middleware: applies
- Web routes → User middleware: applies
- Home controller → Controller base: extends
- Home controller → View rendering: renders through
- View rendering → Welcome view: renders
- Developer → CLI entry: runs commands
- CLI entry → Command base: dispatches
- Command base → Make commands: runs
- Command base → Serve command: runs
- Command base → Migration commands: runs
- Command base → Seed command: runs
- Migration commands → Migration manager: runs migrations
- Seed command → Seed data: loads seeds
- Migration manager → Database API: records migrations
- Database API → Connection manager: uses connection
- Connection manager → Database config: reads settings
- Connection manager → SQL database: connects
- Connection manager → Query builder: creates builder
- Query builder → SQL database: queries
- Schema tools → Schema blueprint: defines schema
- Mail service → Mailer service: uses
- Logging → Logging config: reads settings
- Application bootstrap → Application config: loads settings