v2.0 Website, admin panel or API: choose what you build

The PHP framework that stays light.

FloCMS gives you routing, a template engine, an admin panel, a versioned JSON API and a command line that does the busywork, without the weight. Install only the parts your project needs. Built for real websites, including the ones that live on shared hosting.

composer create-project hostkurd/flocms my-site
return static function (Router $router): void {
    $router->version('v1', function ($router) {

        // Public, rate limited, safe to retry
        $router->post('/contact', [ContactController::class, 'store'])
            ->middleware('throttle:forms', 'idempotent');

        // Token or admin session, with a permission
        $router->group('/users', function ($router) {
            $router->get('', [UsersController::class, 'index']);
            $router->get('/{id:\d+}', [UsersController::class, 'show']);
        }, ['auth:users.manage']);
    });
};

What's in the box

Everything a website needs. Nothing it has to carry.

Routing and templates

Clean URLs map straight to controllers, and readable templates have layouts, partials and @csrf, compiled and cached for you.

The php flo CLI

Generators, migrations, seeders, a scheduler, maintenance mode and user management from one command.

An admin panel

Describe a table in PHP and get its list, forms and permissions, plus users, media, settings and pages built from blocks.

A versioned JSON API

When you need one: routes under /api/v1 with tokens, rate limits, idempotency, CORS and OpenAPI 3.1 output.

Secure by default

Roles and permissions, CSRF protection, login throttling and session freshness out of the box.

Multilingual

Language files and URL prefixes for any locale, with right-to-left themes and admin for Arabic and Kurdish.

php flo

From empty folder to live site in a few commands.

Generate a controller, model and view together, run migrations, create your first admin, and check the whole installation before you deploy. Every command explains itself with php flo help.

Browse every command
$ php flo make:route Blog
Created models/BlogModel.php
Created controllers/BlogController.php
Created views/blog/index.html

$ php flo make:migration create_posts_table && php flo migrate
$ php flo user:create --role=super-admin
$ php flo doctor

Build your next site with FloCMS.

Runs anywhere PHP 8.1 runs, from your laptop to cPanel.

Esc