farme / framework
The Farme PHP Framework - Built with procedural simplicity
1.0.6
2025-08-16 02:08 UTC
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2025-08-16 02:08:34 UTC
README
The PHP Framework That Just Works - Built with procedural simplicity, powered by dynamic CSS generation, and designed for developers who want to build fast without the complexity of modern frameworks.
Features
- π§© Procedural Architecture - Pure PHP functions, no classes required
- β‘ Dynamic CSS Generation - Like Tailwind CSS, but generated on-demand
- πΊοΈ Route Auto-Discovery - Routes automatically discovered from controller annotations
- ποΈ ORM-like Database - ActiveRecord-style operations with query builder
- π¨ Atomic Components - Reusable UI components built with atomic design principles
- ποΈ Modern Templates - Beautiful login/register templates with home page styling
Installation
Using Composer (Recommended)
composer create-project farme/project my-app
cd my-app
php console.php serve
Manual Installation
- Download the framework and project template
- Install dependencies:
composer install
- Copy
.env.example
to.env
- Start the server:
php console.php serve
Quick Start
Create a Controller
/** * @route GET /users/{id} * @route POST /users */ function user_show($params = []) { $user = user_find($params['id']); return farme_render('users/show', ['user' => $user]); }
Create a Model
function user_find($id) { return farme_find('users', $id); } function user_create($data) { return farme_insert('users', $data); }
Create a Template
<h1><?= farme_escape($user['name']) ?></h1> <p><?= farme_escape($user['email']) ?></p>
Use Form Organism
<?= farme_organism('form', [ 'action' => '/login', 'method' => 'POST', 'csrf_token' => $csrf_token, 'submit_text' => 'Sign In', 'fields' => [ 'email' => [ 'type' => 'email', 'placeholder' => 'Email Address', 'required' => true ], 'password' => [ 'type' => 'password', 'placeholder' => 'Password', 'required' => true ] ] ]) ?>
Console Commands
# Start development server php console.php serve # Show registered routes php console.php routes # Create new controller php console.php make:controller User # Create new model php console.php make:model Post # Run migrations php console.php migrate
Architecture
Procedural Functions
No classes, no objects. Just functions that do one thing well.
Auto-Discovery
Routes are automatically discovered from function annotations.
Dynamic CSS
Only generates the CSS you actually use, resulting in dramatically smaller bundle sizes.
ORM-like Operations
// Simple queries $users = user_query() |> farme_where('status', 1) |> farme_order_by('created_at', 'DESC') |> farme_get(); // Complex queries with relationships $posts = post_query() |> farme_join('users', 'posts.user_id', 'users.id') |> farme_where('users.status', 1) |> farme_get();
Modern UI Components
The framework includes a comprehensive set of UI components:
- Atoms: Button, Input, Label, Badge, Typography
- Molecules: Card, Alert, Form Field
- Organisms: Form, Header
- Layouts: Default, Minimal, API
All styled with FarmeDynamic CSS utility framework.
Project Structure
farme-framework/ # Core framework package
β src/Core/ # Framework core components
β src/Template/ # UI components & layouts
β webroot/assets/ # Framework assets
β composer.json # Framework package
License
The Farme Framework is open-sourced software licensed under the MIT license.