The lightweight PHP framework with file-based routing and elegant Flow syntax.
Powered by Fluxor Core
Full documentation available at: 👉 https://lizzyman04.github.io/fluxor-php
The documentation includes:
- 📚 Installation guide
- 🎯 File-based routing (Next.js style)
- 💎 Flow syntax reference
- 🎨 Views and layouts
- 🔧 Controllers and middleware
- ⚙️ Environment configuration
- 📖 Complete API reference with helper functions
- 🚀 Interactive installation guide
# Create a new Fluxor project
composer create-project lizzyman04/fluxor-php my-app
# Navigate to the project
cd my-app
# Start the development server
composer devVisit http://localhost:8000
|
Routes defined by folder structure - like Next.js app/router/
├── index.php # GET /
├── api/
│ ├── users.php # GET /api/users
│ └── users/[id].php # GET /api/users/123 |
Ultra-clean, chainable route definitions Flow::GET()->do(function($req) {
$id = $req->param('id');
return Response::json(['user' => $id]);
}); |
|
Template system with sections and layouts View::extend('layouts/main');
View::section('content');
<h1>Hello World</h1>
View::endSection(); |
Organize your application logic class UserController extends Controller
{
public function index() {
return Response::json(User::all());
}
} |
|
CSRF protection, sessions, request filtering Flow::use(function($req) {
if (!$req->isAuthenticated()) {
return redirect('/login');
}
}); |
Global helpers for common tasks $url = base_url('api/users');
$path = base_path('storage/logs');
$debug = env('APP_DEBUG', false);
abort(404, 'Not Found'); |
After installation, your project will contain:
my-app/
├── app/
│ └── router/ # File-based routes
│ ├── index.php # GET /
│ └── api/
│ └── users/ # REST API examples
├── public/
│ ├── index.php # Front controller
│ └── assets/ # Static assets
├── src/
│ └── Views/ # View templates
│ ├── layouts/
│ └── home.php
├── storage/ # Logs, cache, sessions
├── .env # Environment configuration
└── composer.json # Project dependencies
<?php
// app/router/api/hello/index.php
use Fluxor\Flow;
use Fluxor\Response;
Flow::GET()->do(fn($req) =>
Response::success(['message' => 'Hello, ' . $req->input('name', 'World')])
);| Feature | Description |
|---|---|
| 🎯 File-based Routing | Routes defined by folder structure - like Next.js |
| 💎 Flow Syntax | Ultra-clean, chainable route definitions |
| 🎨 View System | Layouts, sections, stacks, and partials |
| 🔧 Controllers | MVC architecture with base controller |
| 🛡️ Security First | Built-in CSRF, XSS protection, secure sessions |
| 🚦 Middleware | Flexible request filtering (global + per-route) |
| 🎭 Error Handling | Hierarchical error pages (404, 500, etc.) |
| 🔧 Zero Config | Auto-detects base path and URL |
| 🌍 Environment Support | Built-in .env file parser with type casting |
| 🛠️ Utilities | Global helpers (env(), base_path(), abort(), etc.) |
| ⚡ Performance | Boot under 10ms, memory footprint ~2MB |
| 📦 Zero Dependencies | Just pure PHP, no external packages |
- PHP 8.1 or higher
- Composer
- Web server (Apache/Nginx) or PHP built-in server
composer create-project lizzyman04/fluxor-php my-app
cd my-app
composer devMIT License - see LICENSE file for details.
- Inspired by Next.js file-based routing
- Built with simplicity and performance in mind
- Zero dependencies for maximum control
Fluxor - Build elegant PHP applications with joy! 🎉