Skip to content

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.