PHPackages                             ftwodev/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. ftwodev/framework

ActiveProject[Framework](/categories/framework)

ftwodev/framework
=================

FTwoDev Framework - A lightweight native PHP framework

1.5.9(3mo ago)014MITPHPPHP ^8.0

Since Jan 5Pushed 3mo agoCompare

[ Source](https://github.com/Randa23356/ftwodev-framework)[ Packagist](https://packagist.org/packages/ftwodev/framework)[ RSS](/packages/ftwodev-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (12)Used By (0)

FTwoDev Framework
=================

[](#ftwodev-framework)

[![FTwoDev Framework](https://camo.githubusercontent.com/6584a714ac263cf832af185d5eaee831b593eb23ea3b9450ce52065172e92d3f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4654776f4465762d4672616d65776f726b2d677265656e3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/6584a714ac263cf832af185d5eaee831b593eb23ea3b9450ce52065172e92d3f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4654776f4465762d4672616d65776f726b2d677265656e3f7374796c653d666f722d7468652d6261646765)[![PHP Version](https://camo.githubusercontent.com/18e71020d2102bd0be343e4d2d95bad9e75041933c478945002f1919fa80baf4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e302532422d626c75653f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/18e71020d2102bd0be343e4d2d95bad9e75041933c478945002f1919fa80baf4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e302532422d626c75653f7374796c653d666f722d7468652d6261646765)[![Version](https://camo.githubusercontent.com/ec08f3763fce22f862ea89ea56c62e093371075e6dc56bc207c06de42a7b49f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f56657273696f6e2d312e342e302d79656c6c6f773f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/ec08f3763fce22f862ea89ea56c62e093371075e6dc56bc207c06de42a7b49f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f56657273696f6e2d312e342e302d79656c6c6f773f7374796c653d666f722d7468652d6261646765)[![License](https://camo.githubusercontent.com/2792a6b590e1b7fbcc5f7c80df8da3149453c596df80f16fa86bd82c487bec8d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f773f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/2792a6b590e1b7fbcc5f7c80df8da3149453c596df80f16fa86bd82c487bec8d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f773f7374796c653d666f722d7468652d6261646765)

**The Engine for Modern Creators**

*A native PHP 8 boilerplate built for velocity. FTwoDev gives you the precision of raw PHP with the elegance of a premium framework.*

[Installation](#installation) • [Quick Start](#quick-start) • [Documentation](#documentation) • [Commands](#commands) • [Features](#features)

---

🚀 Features
----------

[](#-features)

- **⚡ High Velocity** - Zero dependencies, zero bloat. Lightning fast execution
- **🎯 Magic Routing** - Instant URL to controller mapping without configuration
- **🌸 Bloom Auth** - Premium authentication starter kit ready in seconds
- **🗄️ Database Flow** - Advanced migration and model system using PDO
- **🎨 Template Engine** - Modern view architecture with layouts and sections
- **🛠️ Creative CLI** - Powerful `ftwo` command-line tool for scaffolding
- **🔒 Security First** - Built-in XSS protection and secure defaults
- **📱 Modern PHP** - Built for PHP 8+ with latest language features
- **🌍 Environment Config** - .env file support for configuration management
- **📊 Session Management** - Comprehensive session handling with flash messages
- **🎭 Dynamic Views** - Smart UI that adapts to framework state
- **🔄 Version Management** - Built-in version tracking and display

---

📋 Requirements
--------------

[](#-requirements)

- PHP 8.0 or higher
- Composer
- MySQL/MariaDB (for database features)
- Web server (Apache/Nginx) or PHP built-in server

---

🔧 Installation
--------------

[](#-installation)

### Via Composer (Recommended)

[](#via-composer-recommended)

```
composer create-project ftwodev/framework my-project
# Setup wizard runs automatically!
cd my-project
php ftwo ignite
```

### Manual Installation

[](#manual-installation)

```
git clone https://github.com/Randa23356/ftwo-framework.git my-project
cd my-project
composer install
php install.php  # Run setup wizard manually
```

---

⚡ Quick Start
-------------

[](#-quick-start)

### 1. Environment Setup

[](#1-environment-setup)

The framework automatically generates a `.env` file during installation, but you can also create it manually:

```
# Generate .env file from .env.example
php ftwo ignite:env
```

### 2. Framework Setup

[](#2-framework-setup)

```
# Basic setup (creates default controllers)
php ftwo ignite:setup

# OR install with authentication
php ftwo ignite:bloom
```

### 3. Start Development Server

[](#3-start-development-server)

```
php ftwo ignite
# Server starts at http://localhost:8000
```

### 4. Create Your First Controller

[](#4-create-your-first-controller)

```
php ftwo craft:controller UserController
```

That's it! Your framework is ready to use.

---

📚 Documentation
---------------

[](#-documentation)

### Directory Structure

[](#directory-structure)

```
FDFramework/
├── config/                 # Configuration files
│   ├── app.php             # Application settings
│   ├── database.php        # Database configuration
│   ├── middleware.php      # Middleware configuration
│   ├── routes.php          # Route definitions
│   └── session.php         # Session configuration
├── core-modules/           # Core framework modules
│   ├── CLIModule/          # Command-line interface
│   └── LoggerModule/       # Logging functionality
├── engine/                 # Framework core engine
│   ├── Boot.php            # Application bootstrap
│   ├── ControllerBase.php  # Base controller class
│   ├── Env.php             # Environment configuration
│   ├── ModelBase.php       # Base model class
│   ├── Router.php          # Routing engine
│   ├── Session.php         # Session management
│   ├── Utils.php           # Helper functions
│   └── ViewEngine.php      # Template engine
├── projects/               # Your application code
│   ├── Controllers/        # Application controllers
│   ├── Models/            # Application models
│   ├── Views/             # Application views
│   ├── Middlewares/       # Custom middlewares
│   ├── Migrations/        # Database migrations
│   └── Services/          # Service classes
├── public/                # Public web directory
│   ├── index.php          # Application entry point
│   └── assets/            # Static assets
├── storage/               # Storage directory
│   ├── logs/              # Application logs
│   └── sessions/          # Session files
├── .env.example           # Environment configuration template
├── .env                   # Environment configuration (auto-generated)
└── vendor/                # Composer dependencies

```

### Configuration

[](#configuration)

#### Environment Variables (`.env`)

[](#environment-variables-env)

FTwoDev uses environment variables for configuration. The `.env` file is automatically generated during installation:

```
APP_NAME="Your App Name"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
APP_KEY=base64:generated-key

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

SESSION_DRIVER=file
SESSION_LIFETIME=120
```

#### Application Settings (`config/app.php`)

[](#application-settings-configappphp)

```
return [
    'name' => env('APP_NAME', 'FTwoDev Application'),
    'env' => env('APP_ENV', 'local'),          // local, production
    'debug' => env('APP_DEBUG', true),
    'url' => env('APP_URL', 'http://localhost:8000'),
    'timezone' => env('APP_TIMEZONE', 'Asia/Jakarta'),
    'key' => env('APP_KEY', 'your-app-key'),
];
```

#### Database Configuration (`config/database.php`)

[](#database-configuration-configdatabasephp)

```
return [
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'dbname' => env('DB_DATABASE', 'ftwodev_db'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8mb4',
];
```

#### Session Configuration (`config/session.php`)

[](#session-configuration-configsessionphp)

```
return [
    'driver' => env('SESSION_DRIVER', 'file'),
    'lifetime' => env('SESSION_LIFETIME', 120), // minutes
    'files' => storage_path('sessions'),
    'cookie' => env('SESSION_COOKIE', 'ftwodev_session'),
    'secure' => env('SESSION_SECURE_COOKIE', false),
    'http_only' => true,
];
```

---

🛠️ Commands
-----------

[](#️-commands)

The `ftwo` CLI tool provides powerful commands for development:

### System Commands (IGNITE)

[](#system-commands-ignite)

CommandDescription`php ftwo ignite`Start development server`php ftwo ignite:setup`Setup basic framework structure`php ftwo ignite:bloom`Install Bloom Auth starter kit`php ftwo ignite:env`Generate .env file from .env.example`php ftwo ignite:migrate`Run database migrations`php ftwo ignite:rollback`Rollback last migration batch`php ftwo ignite:fresh`Drop all tables &amp; re-run migrations`php ftwo ignite:refresh`Refresh &amp; sync framework classes### Scaffolding Commands (CRAFT)

[](#scaffolding-commands-craft)

CommandDescriptionExample`php ftwo craft:controller`Create a new controller`php ftwo craft:controller UserController``php ftwo craft:model`Create a new model`php ftwo craft:model User``php ftwo craft:view`Create a new view`php ftwo craft:view profile``php ftwo craft:service`Create a new service class`php ftwo craft:service EmailService``php ftwo craft:migration`Create a new migration`php ftwo craft:migration create_users_table`### Utility Commands

[](#utility-commands)

CommandDescription`php ftwo version`Show framework version`php ftwo --version`Show framework version`php ftwo -v`Show framework version`php ftwo make:session-table`Create session table migration---

🎯 Routing
---------

[](#-routing)

### Manual Routes

[](#manual-routes)

Define routes in `config/routes.php`:

```
use Engine\Router;

// Basic routes
Router::get('/', 'HomeController@index');
Router::post('/users', 'UserController@store');
Router::put('/users/{id}', 'UserController@update');
Router::delete('/users/{id}', 'UserController@destroy');

// Closure routes
Router::get('/about', function() {
    return view('about');
});
```

### Magic Routing

[](#magic-routing)

FTwoDev automatically maps URLs to controllers:

- `/users` → `UserController::index()`
- `/users/create` → `UserController::create()`
- `/users/profile` → `UserController::profile()`
- `/admin/dashboard` → `AdminController::dashboard()`

---

🎨 Views &amp; Templates
-----------------------

[](#-views--templates)

### Creating Views

[](#creating-views)

Views are stored in `projects/Views/` with `.ftwo.php` extension:

```
