Skip to content

Latest commit

 

History

History
240 lines (184 loc) · 7.16 KB

File metadata and controls

240 lines (184 loc) · 7.16 KB
Fluxor Logo

Fluxor PHP Framework

The lightweight PHP framework with file-based routing and elegant Flow syntax.

Latest Stable Version Total Downloads License PHP Version Require

Powered by Fluxor Core Core Version Core Downloads

📚 Documentation🐙 GitHub 📦 Packagist


📖 Documentation

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

🚀 Quick Start

# 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 dev

Visit http://localhost:8000

✨ Features at a Glance

🎯 File-based Routing

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

💎 Elegant Flow Syntax

Ultra-clean, chainable route definitions

Flow::GET()->do(function($req) {
    $id = $req->param('id');
    return Response::json(['user' => $id]);
});

🎨 Views & Layouts

Template system with sections and layouts

View::extend('layouts/main');
View::section('content');
    <h1>Hello World</h1>
View::endSection();

🔧 Controllers

Organize your application logic

class UserController extends Controller
{
    public function index() {
        return Response::json(User::all());
    }
}

🛡️ Middleware & Security

CSRF protection, sessions, request filtering

Flow::use(function($req) {
    if (!$req->isAuthenticated()) {
        return redirect('/login');
    }
});

🛠️ Utilities & Helpers

Global helpers for common tasks

$url = base_url('api/users');
$path = base_path('storage/logs');
$debug = env('APP_DEBUG', false);
abort(404, 'Not Found');

📁 Project Structure

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

💎 Quick Example

<?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')])
);

🌟 Key Features

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

📊 Stats & Star History

Fluxor PHP (Skeleton) Fluxor Core (Engine)
GitHub Last Commit Packagist Stars Core Release Core Last Commit Core Downloads
Star History Chart

🚦 Requirements

  • PHP 8.1 or higher
  • Composer
  • Web server (Apache/Nginx) or PHP built-in server

📦 Installation

composer create-project lizzyman04/fluxor-php my-app
cd my-app
composer dev

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

  • 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! 🎉