PHPackages                             omega-mvc/omega - 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. omega-mvc/omega

ActiveProject[Framework](/categories/framework)

omega-mvc/omega
===============

Omega is a lightweight PHP framework designed for building modern web applications using the MVC architecture. Compatible with PHP 8.2+.

2.0.0(1mo ago)03GPL-3.0PHPPHP ^8.4

Since Apr 2Pushed 1mo agoCompare

[ Source](https://github.com/omega-mvc/omega)[ Packagist](https://packagist.org/packages/omega-mvc/omega)[ Docs](https://omega-mvc.github.io)[ RSS](/packages/omega-mvc-omega/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (2)Used By (0)

 [ ![Omega Logo](https://github.com/omega-mvc/omega-assets/raw/main/images/logo-omega.png) ](https://omega-mvc.github.io)

 [Documentation](https://omega-mvc.github.io) | [Changelog](https://github.com/omega-mvc/omega-mvc.github.io/blob/main/README.md#changelog) | [Contributing](https://github.com/omega-mvc/omega/blob/main/CONTRIBUTING.md) | [Code Of Conduct](https://github.com/omega-mvc/omega/blob/main/CODE_OF_CONDUCT.md) | [License](https://github.com/omega-mvc/omega/blob/main/LICENSE)

Omega Starter Application
=========================

[](#omega-starter-application)

Welcome to **omega**, a minimal MVC framework designed to streamline your PHP development process. This lightweight framework offers essential features for building web applications while maintaining simplicity and ease of use.

🪐 Feature
---------

[](#-feature)

- MVC structure
- Application Container (power with [php-di](https://github.com/PHP-DI/PHP-DI))
- Router Support
- Models builder
- Query builder
- CLI command
- Service Provider and Middleware
- Templator (template engine)

Quick Start (4 Steps)
---------------------

[](#quick-start-4-steps)

### 1 Create Your Project

[](#1-create-your-project)

```
composer create-project omega-mvc/omega project-name
```

### 2️ Jump In

[](#2️-jump-in)

```
cd project-name
```

### 3️ Build Assets

[](#3️-build-assets)

```
npm install
npm run build
```

### 4️ Launch!

[](#4️-launch)

```
php omega serve
```

**That's it!** Your app is now running. Let's build something awesome.

Building Your First Feature
---------------------------

[](#building-your-first-feature)

We'll create a user profile feature from scratch.

### Step 1: Create Database Schema

[](#step-1-create-database-schema)

```
php omega make:migration profiles
php omega db:create  # Only if database doesn't exist yet
```

Define your table structure:

```
// database/migration/_profiles.php
Schema::table('profiles', function (Create $column) {
    $column('user')->varChar(32);
    $column('real_name')->varChar(100);
    $column->primaryKey('user');
})
```

Run the migration:

```
php omega migrate
```

### Step 2: Generate Your Model

[](#step-2-generate-your-model)

```
php omega make:model Profile --table-name profiles
```

### Step 3: Create a Controller

[](#step-3-create-a-controller)

```
php omega make:controller Profile
```

Add your logic:

```
// app/Controller/ProfileController.php
public function handle(MyPDO $pdo): Response
{
    return view('profile', [
        'name' => Profile::find('omega-mvc', $pdo)->real_name
    ]);
}
```

### Step 4: Design Your View

[](#step-4-design-your-view)

```
php omega make:view profile
```

```
// resources/views/profile.template.php
{% extend('base/base.template.php') %}
{% section('title', 'Welcome {{ $name }}') %}

{% section('content') %}
    Hello, {{ $name }}! 👋
{% endsection %}
```

### Step 5: Register Your Route

[](#step-5-register-your-route)

```
// route/web.php
Router::get('/profile', [ProfileController::class, 'index']);
```

**Done!** Visit `/profile` and see your work in action.

🔥 Pro Move: API with Attributes
-------------------------------

[](#-pro-move-api-with-attributes)

Skip the route files entirely. Use attributes for clean, self-documented APIs:

```
php omega make:services Profile
```

```
// app/Services/ProfileServices.php
#[Get('/api/v1/profile')]
#[Name('api.v1.profile')]
#[Middleware([AuthMiddleware::class])]
public function index(MyPDO $pdo): array
{
    $data = Cache::remember('profile', 3600, fn () => [
        'name'   => Profile::find('omega-mvc', $pdo)->real_name,
        'status' => 200,
    ]);

    return JsonResponse($data);
}
```

then register this route attribute.

```
Router::register([
    ProfileServices::class,
    // add more class
]);
```

This automatically creates your route with middleware—no extra configuration needed!

**Equivalent traditional route:**

```
Route::get('/api/v1/profile', [ProfileServices::class, 'index'])
    ->name('api.v1.profile')
    ->middleware([AuthMiddleware::class]);
```

⚡ Performance Optimization
--------------------------

[](#-performance-optimization)

Ready for production? Cache everything:

```
php omega-mvc view:cache    # Cache compiled templates
php omega-mvc config:cache  # Cache configuration
php omega-mvc route:cache   # Cache all routes
```

Official Documentation
----------------------

[](#official-documentation)

The official documentation for Omega is available [here](https://omega-mvc.github.io)

Contributing
------------

[](#contributing)

If you'd like to contribute to the Omega example application package, please follow our [contribution guidelines](CONTRIBUTING.md).

License
-------

[](#license)

This project is open-source software licensed under the [GNU General Public License v3.0](LICENSE).

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance92

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

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

Unknown

Total

1

Last Release

38d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8191ee40890872f6860a4cfc6d720337eb187f6fab6d949036792412c1a10f8d?d=identicon)[omega-mvc](/maintainers/omega-mvc)

---

Top Contributors

[![omega-mvc](https://avatars.githubusercontent.com/u/254761234?v=4)](https://github.com/omega-mvc "omega-mvc (14 commits)")

---

Tags

demoexample-appmvcphpphp8starter-projectweb-applicationframeworkmvcexamplelightweightphp 8.4modern

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/omega-mvc-omega/health.svg)

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

###  Alternatives

[wave-framework/wave

Wave is a lightweight PHP MVC framework

2625.0k1](/packages/wave-framework-wave)

PHPackages © 2026

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