PHPackages                             vortexphp/framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. vortexphp/framework

ActiveLibrary[Framework](/categories/framework)

vortexphp/framework
===================

Lightweight PHP application stack (app/, config/, routes/, resources/views)

v0.12.0(3mo ago)127↓91.7%3MITPHPPHP ^8.2

Since Apr 3Pushed 3mo agoCompare

[ Source](https://github.com/vortexphp/framework)[ Packagist](https://packagist.org/packages/vortexphp/framework)[ RSS](/packages/vortexphp-framework/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (8)Versions (14)Used By (3)

Vortex
======

[](#vortex)

Lightweight PHP application stack: HTTP routing, Twig views, PDO database layer, mail, cache, config, console, events, validation, and i18n.

Install
-------

[](#install)

```
composer require vortexphp/framework
```

Requires **PHP 8.2+**, **ext-mbstring**, **ext-pdo**, and **Twig 3**. For SMTP with TLS/SSL, install **ext-openssl** (see `composer.json` suggest).

Project layout
--------------

[](#project-layout)

The framework expects a **base path** (your app root) with at least:

- `config/` — configuration read by `Vortex\Config\Repository`
- `config/paths.php` (optional) — return `['migrations' => '…', 'models' => '…', 'controllers' => '…']` relative to the project root; defaults are `db/migrations`, `app/Models`, and `app/Http/Controllers`
- `app/Routes/*.php` — HTTP route files (`require`d in order; register via `Vortex\Routing\Route`; optional `->name('key')` + `route('key', $params)`)
- `app/Routes/*Console.php` — console registration files (`Vortex::command(...)` at top level, analogous to `Route::get` for HTTP)
- `resources/views/` — Twig templates (used by `Vortex\Application::boot()`; override with `config/view.php` key `path`)
- `storage/cache/twig/` — optional Twig cache when `app.debug` is false

Quick start
-----------

[](#quick-start)

```
