You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6KB

Request / Response Flow

This chart shows how a browser request moves through the MindVisionCode framework and how a response is built and returned.

flowchart TD
    A[Browser Request] --> B[public/index.php]
    B --> C[autoload.php / vendor autoload]
    B --> D[ensureSessionStarted()]
    B --> E[Create App + Router]
    B --> F[Load routes/web.php]
    B --> G[Request::capture()]
    G --> H[Dispatcher::dispatch()]
    H --> I{Route matched?}
    I -- No --> J[Response::notFound()]
    I -- Yes --> K[Route::dispatch()]
    K --> L[App::call()]
    L --> M{Handler type}
    M -- Controller method --> N[Controller action]
    M -- Closure --> O[Route closure]
    N --> P[Repository / ViewModel / Service calls]
    P --> Q[Database::query() / execute()]
    N --> R[view() / json() / redirect()]
    O --> R
    R --> S[Response object]
    J --> S
    H --> T[normalizeResponse()]
    T --> S
    S --> U[Response::send()]
    U --> V[Browser receives HTML / JSON / redirect]

Response building paths

View response

Controller -> view() -> View::render() -> template -> layout -> Response

JSON response

Controller -> json() -> Response::json() -> Response::send()

Redirect response

Controller -> redirect() -> Response::redirect() -> Response::send()

Key classes

  • public/index.php bootstraps the app
  • Core\Dispatcher matches routes and handles errors
  • Core\Route extracts route parameters
  • Core\App invokes controller methods or closures
  • Core\Controller gives actions helper methods
  • Core\View renders templates into a layout
  • Core\Response sends the final output

Powered by TurnKey Linux.