PHPackages                             gdev/php-mvc-core - 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. gdev/php-mvc-core

ActiveLibrary

gdev/php-mvc-core
=================

Lightweight PHP MVC framework

v1.0.3(11mo ago)02MITPHP

Since Apr 30Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/mgiambro-dev/gdev-php-mvc-core)[ Packagist](https://packagist.org/packages/gdev/php-mvc-core)[ RSS](/packages/gdev-php-mvc-core/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)DependenciesVersions (4)Used By (0)

⚙️ Custom PHP Framework Core
============================

[](#️-custom-php-framework-core)

This is a lightweight PHP MVC framework built from scratch to support rapid development of small-to-medium web applications. Inspired by Laravel, it includes essentials like routing, controllers, views, authentication, validation, middleware and migrations — all in a transparent, extendable structure.

📦 Install via Composer
----------------------

[](#-install-via-composer)

```
composer create-project gdev/php-mvc-core my-app
# or, if published:
composer require gdev/php-mvc-core

cp .env.example .env

// Enter database settings into .env e.g.

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=phpmvcframework
DB_USERNAME=root
DB_PASSWORD=
DB_DSN=mysql:host=mysql;port=3306;dbname=phpmvcframework

// Build and
docker compose build
docker compose up
```

🔧 Features
----------

[](#-features)

- RESTful routing (GET, POST)
- MVC architecture (Models, Views, Controllers)
- View templates with layouts and partials
- User authentication (register/login)
- Middleware support for request filtering and processing (e.g., authentication, logging)
- Input validation and data sanitization
- Environment configuration with `.env`
- Database connection and query builder
- CLI-based migrations
- Reusable as an installable Composer package

🚀 Getting Started
-----------------

[](#-getting-started)

```
docker compose build
docker compose up

// Find the docker container ID
docker ps

// Open a shell into docker
docker exec -it  sh

// Install dependencies
composer install

// Run migrations
php migrations.php
```

Visit:

📁 File Structure
----------------

[](#-file-structure)

```
/db
/exceptions
/form
/middleware
Application.php
composer.json
Controller.php
README.md
Request.php
Response.php
Router.php
Session.php
UserModel.php
.env.example

```

🧱 Built With
------------

[](#-built-with)

- PHP 8+
- Composer
- PSR-4 Autoloading
- Custom-built MVC components

📌 Why I Built This
------------------

[](#-why-i-built-this)

As a PHP/Laravel developer, I wanted to understand the internal mechanics of modern PHP frameworks by creating one from scratch. This project deepened my knowledge of request lifecycles, routing, validation, database abstraction, and MVC architecture.

It also serves as a demonstration of backend design skills, architecture decisions, and Composer packaging — showing what can be achieved without relying on full-stack frameworks.

✅ License
---------

[](#-license)

MIT

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance52

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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 ~25 days

Total

3

Last Release

333d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a8b9f983499058c1bf277fccee82737aab5968f91f00edc9a28693acf00edbac?d=identicon)[mgiambro-dev](/maintainers/mgiambro-dev)

---

Top Contributors

[![mgiambro-dev](https://avatars.githubusercontent.com/u/170119916?v=4)](https://github.com/mgiambro-dev "mgiambro-dev (6 commits)")

### Embed Badge

![Health badge](/badges/gdev-php-mvc-core/health.svg)

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

PHPackages © 2026

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