PHPackages                             bittokazi/php-simple-mvc-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. bittokazi/php-simple-mvc-framework

ActiveProject[Framework](/categories/framework)

bittokazi/php-simple-mvc-framework
==================================

PHP framework made for simplicity

0.5.2(7y ago)19MITPHP

Since Dec 19Pushed 7y ago1 watchersCompare

[ Source](https://github.com/bittokazi/PHP-Simple-MVC-Framework)[ Packagist](https://packagist.org/packages/bittokazi/php-simple-mvc-framework)[ RSS](/packages/bittokazi-php-simple-mvc-framework/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

Start by downloading through composer:
======================================

[](#start-by-downloading-through-composer)

- composer create-project bittokazi/php-simple-mvc-framework

PHP Simple Model View Control(MVC) Framework
============================================

[](#php-simple-model-view-controlmvc-framework)

Simple Model View and Control Framework Built on PHP.

- Define Routes With Specfic Controller Class Method
- Define All Configuration in a single config File
- Database Migration Feature
- Database Seed Option
- Install, Uninstall, Seed Database with specific link in Development Mode
- Filter option works as middleware
- Moduler Option, add New Features to the Framework as Module
- Module Configuragtion file (Dont want to use a module? just deactivate it)
- Namespacing for every class file
- Interceptor Feature added for modules(Intercepts even before filters)
- Add View file as you want and call it from controller method
- ORM module ADDED for easier database operation

Upcoming Features!
==================

[](#upcoming-features)

- Templating Engine Module.

### Installation

[](#installation)

Through Composer
================

[](#through-composer)

- composer create-project bittokazi/php-simple-mvc-framework
- Database migrations:
    - composer db:install
    - composer db:seed
    - composer db:uninstall

Standalone installation
=======================

[](#standalone-installation)

Just Copy and Paste where you want to run the application and start development!

All the request will go to /public folder

Define Database Migration classes in "database" folder and browse these URLs for Install, Uninstall and Seed (Works in Development mode only)

```
Install -> http://localhost/php-mvc/public/install.mvc
Uninstall -> http://localhost/php-mvc/public/uninstall.mvc
Seed -> http://localhost/php-mvc/public/seed.mvc
```

### Route Declare

[](#route-declare)

Declare Routes for Request in "config/routes.php" file (GET/POST Supported Currently). Example

> Routes::get(contoller, link); Routes::get(contoller#method, link); Routes::get(contoller#method, link, filter);

Here "?id" is the path variable.

```

```

### Database Migration file

[](#database-migration-file)

All database Migration class Files will go in "database/" folder. Example Database Migration Class

```
query('CREATE TABLE user (
                id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                username VARCHAR(255) NOT NULL UNIQUE,
                password VARCHAR(255) NOT NULL,
                email VARCHAR(255) NOT NULL UNIQUE,
                firstname VARCHAR(30),
                lastname VARCHAR(30),
                status VARCHAR(30),
                role VARCHAR(30)
                )');

        $this->query('CREATE TABLE user_status (
                id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                title VARCHAR(255) NOT NULL UNIQUE
                )');

        $this->query('CREATE TABLE user_role (
                id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                title VARCHAR(255) NOT NULL UNIQUE
                )');

        $this->query('CREATE TABLE user_notes (
                id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                title VARCHAR(255) NOT NULL UNIQUE,
                content TEXT
                )');

    }
    public function seed() {
        $this->query("INSERT INTO user_status VALUES('', 'Active')");
        $this->query("INSERT INTO user_role VALUES('', 'Administrator')");
        $this->query("INSERT INTO user_role VALUES('', 'User')");
        $this->query("INSERT INTO user VALUES('', 'admin', '".Auth::CryptBf('password')."', 'bitto.kazi@gmail.com', 'N/A',          'N/A', '1', '1')");
        $this->query("INSERT INTO user VALUES('', 'user', '".Auth::CryptBf('password')."', 'bitto.kazi1@gmail.com', 'N/A',          'N/A', '1', '2')");
    }
    public function uninstall() {
        $this->query('DROP TABLE user_status');
        $this->query('DROP TABLE user_role');
        $this->query('DROP TABLE user');
        $this->query('DROP TABLE user_notes');
    }
}
?>
```

You can use prepared statements like this example in Model files

```
DB()->prepared_select('SELECT *, user.id as id FROM user INNER JOIN user_role ON user.role=user_role.id', '', array());

    }
?>
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

2697d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/51e14685c1a71b4cda2411f16accf6f60d1e6d4af951ca387ae7608ee5855406?d=identicon)[bitto.kazi](/maintainers/bitto.kazi)

---

Top Contributors

[![bittokazi](https://avatars.githubusercontent.com/u/2456953?v=4)](https://github.com/bittokazi "bittokazi (14 commits)")

---

Tags

frameworkormmvcphp-mvc

### Embed Badge

![Health badge](/badges/bittokazi-php-simple-mvc-framework/health.svg)

```
[![Health](https://phpackages.com/badges/bittokazi-php-simple-mvc-framework/health.svg)](https://phpackages.com/packages/bittokazi-php-simple-mvc-framework)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[letsdrink/ouzo

Ouzo PHP MVC framework

7210.5k1](/packages/letsdrink-ouzo)[originphp/framework

The OriginPHP framework

482.6k6](/packages/originphp-framework)[mirekmarek/php-jet

PHP Jet is modern, powerful, real-life proven, really fast and secure, small and light-weight framework for PHP8 with great clean and flexible modular architecture containing awesome developing tools. No magic, just clean software engineering.

241.3k](/packages/mirekmarek-php-jet)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
