Structure
Application Overview & Structure
Stereo approaches architecture differently from MVC frameworks. Instead of MVC architecture, we focus on routes and views. There are no models or controllers by default (although you’re welcome to add them if you want). It’s similar to Express.js - catch the request, perform logic, and return the response.
RV (Route View) Architecture
Our architecture is based on Slim, which gives us a lot “for free” and is flexible enough to support this workflow. We call it RV (Route View) architecture.
- Comfortable if you’re coming from the JS world (feels like Express)
- Bring Your Own Database (BYOD) - if you want to do models & migrations, that’s fine
- Same goes for controllers, tests, etc.
RVBL FW? - Focus on business logic, routing, and views
Configuration Philosophy
We embrace a “zero config” ideology as much as possible:
- Most settings should be in the
.env
file - Other settings (php_ini, timezone, etc.) can be set in the
settings.php
file - It’s a blank canvas with sensible defaults
- You have the ability to change settings if you want
Project Structure
Our structure doesn’t follow the standard PHP package format. Instead, it focuses on being easy to understand and will feel familiar if you’ve used Express.