PHPackages                             luminovang/luminova - 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. luminovang/luminova

ActiveProject[Framework](/categories/framework)

luminovang/luminova
===================

Luminova is a fast, modular PHP framework designed for simplicity, performance, and modern web application development.

2.3.7(4mo ago)852[2 issues](https://github.com/luminovang/luminova/issues)MITPHPPHP ^8.0

Since Mar 5Pushed 2mo ago1 watchersCompare

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

READMEChangelog (10)Dependencies (9)Versions (58)Used By (0)

PHP Luminova Framework
======================

[](#php-luminova-framework)

[![Author](https://camo.githubusercontent.com/468f289de0e5084fa0ff399eab50cb7dfbe47a14d80058c5d27170687df82c6a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d407065746572636869672d626c75652e737667)](https://instagram.com/peterchig)[![PHP 8.0+](https://camo.githubusercontent.com/36d02eb5c48f33b285eb804cc1eaf997120c2061bca6aa0733c879177727ded6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d6d696e253230382e302e302d7265642e737667)](https://camo.githubusercontent.com/36d02eb5c48f33b285eb804cc1eaf997120c2061bca6aa0733c879177727ded6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d6d696e253230382e302e302d7265642e737667)[![Source Code](https://camo.githubusercontent.com/e169392b9159220a5abae48b14081856592ecd3e5f125bb979b9bb6825ae100f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736f757263652d6c756d696e6f76616e672f6c756d696e6f76612d626c75652e737667)](https://github.com/luminovang/luminova)[![Latest Version](https://camo.githubusercontent.com/6b7c2c928eba99363fd43890054b4d4bc75888f8fe6dab207cabe88f0c2f3fae/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f6c756d696e6f76616e672f6c756d696e6f76612e737667)](https://github.com/luminovang/luminova/releases)[![Framework Source Code](https://camo.githubusercontent.com/8630205dc76080e908a0de53a138911da77e6e6073f674809c63d489ac37527e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736f757263652d6c756d696e6f76616e672f6672616d65776f726b2d626c75652e737667)](https://github.com/luminovang/framework)[![Framework Latest Version](https://camo.githubusercontent.com/8f78d1614bcd7bceef2c2e16ccc97731a6289ba0508e7d018137057b2569cfbb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f6c756d696e6f76616e672f6672616d65776f726b2e737667)](https://github.com/luminovang/framework/releases)[![Software License](https://camo.githubusercontent.com/074b89bca64d3edc93a1db6c7e3b1636b874540ba91d66367c0e5e354c56d0ea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](https://github.com/luminovang/luminova/blob/master/LICENSE)[![Total Downloads](https://camo.githubusercontent.com/4efebaf4455d6223c44bc45097a804f8bc24aec073525be88d70efe7a1c8aea7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c756d696e6f76616e672f6672616d65776f726b2e737667)](https://packagist.org/search/?tags=php%20luminova)[![Endpoint Badge](https://camo.githubusercontent.com/3053963dee4f0d628ebc419d478912e8e2b7db23ab40fd8f83d3fef152883cdd/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470732533412532462532466c756d696e6f76612e6e67253246646f776e6c6f616473)](https://camo.githubusercontent.com/3053963dee4f0d628ebc419d478912e8e2b7db23ab40fd8f83d3fef152883cdd/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470732533412532462532466c756d696e6f76612e6e67253246646f776e6c6f616473)

[![Local Image](https://github.com/luminovang/luminova/raw/main/docs/logo.svg)](https://github.com/luminovang/luminova/raw/main/docs/logo.svg)

Luminova is a high-performance PHP framework designed for speed, efficiency, and developer productivity. It allows you to customize the framework to your project via the `.env` file, enabling only the features you need. This modular approach ensures optimal performance while giving you full control over template rendering modes and coding styles.

Within Luminova templates, `View` objects are accessible directly in your view files. You can call application methods and properties using `$this` or `$self` for stricter isolation mode.

Ready to try Luminova with your next projects? Explore the [official documentation](https://luminova.ng/docs) or join the community for tips, tutorials, and coding insights on our [YouTube channel](https://www.youtube.com/@luminovang).

> **Luminova Skeleton**This repository gives you everything you need to start a new Luminova project: a clean directory structure, essential configuration files, and the core bootstrapping setup.

---

Key Features
------------

[](#key-features)

Luminova comes packed with tools to speed up development while keeping your application organized and performant.

- **Database Builder:** ORM for easier CRUD operations and database management.
- **MVC &amp; HMVC Architecture:** Supports both MVC and Hierarchical MVC for modular applications.
- **Flexible Routing and Controllers:** Fast, dynamic routing with attribute or method-based configuration.
- **HTTP and CLI Routing:** Handing dynamic routing for HTTP or CLI, similar to HTTP routing.
- **Templating:** Native PHP templating with inheritance, caching, and optional engines like Twig or Smarty.
- **Error Handling:** Comprehensive error tracking, including non-fatal inline errors.
- **Session Management:** Simplified session handling for authentication and user state.
- **Cloud Storage:** Integrations with AWS, Azure, Google Cloud, and more.
- **File Management:** Secure file delivery with temporary or permanent URLs.
- **Sitemap Generator:** Generate sitemaps easily using NovaKit.
- **Schema Objects:** Generate structured schema objects for pages.
- **Command Line Tools:** Build full CLI applications with built-in routing support.
- **CLI Tooling:** Command Line Helper for application development/production (`php novakit`).
- **AI Models:** Extend your application with AI-powered features.
- **Flexible Database Failover:** Instant failover support for backup databases.
- **Security:** Implements multiple security layers to protect user data.
- **Request Handling:** Securely process incoming and outgoing HTTP requests.
- **Email:** Send emails with support for rendering full template content.
- **Translation &amp; Localization:** Build multilingual applications.
- **Encryption:** Supports multiple encryption handlers and methods.
- **Services:** Share classes and objects across your codebase with caching support.

---

Requirements
------------

[](#requirements)

- PHP **8.0+**
- Composer
- `ext-mbstring` enabled
- `ext-json` enabled
- `psr/http-client` installed
- `psr/log` installed
- `ext-json` enabled
- Web server (Apache, Nginx, or PHP built-in)

---

Installation
------------

[](#installation)

Create a new luminova project using Composer:

```
composer create-project luminovang/luminova my-project
```

Encryption Key
--------------

[](#encryption-key)

Generate your application encryption key:

```
php novakit generate:key
```

Start Development Server
------------------------

[](#start-development-server)

To start PHP development server.

Run the following `novakit` command:

```
php novakit server
```

> Visit:

Sitemap Generator
-----------------

[](#sitemap-generator)

To generate your website XML sitemap:

Use the below `novakit` command:

```
php novakit sitemap
```

---

Directory Structure
-------------------

[](#directory-structure)

```
app/
    │── Controllers/     # Route handlers
    │── Config/          # Application settings
    │── Models/          # Application data models
    │── Views/           # UI templates
    │── Modules/         # HMVC modules (optional)
bootstrap/               # Core Helper Functions
bin/                     # Novakit Console Commands
public/                  # Front Controller (Framework entry point)
resources/
        │── Views/     # MVC Template files
routes/                # Routes for Method-Based Routing
writeable/             # Private Storage, Logs, cache, Sessions, and Temp Files
system/                # Core Modules
    │── plugins/       # ThirdParty Vendor Files

```

---

Basic Usage
-----------

[](#basic-usage)

### Defining Routes

[](#defining-routes)

Luminova supports flexible routing using **PHP Attributes** or **Method-Based Routing**.

#### Attribute Routing

[](#attribute-routing)

Enable attribute routing by setting the environment variable:

```
feature.route.attributes = true
```

Example:

```
namespace App\Controllers\Http;

use Luminova\Base\Controller;
use Luminova\Attributes\Route;
use Luminova\Attributes\Prefix;

#[Prefix('/(:base)', exclude: ['api'])]
class MainController extends Controller
{
    #[Route('/', methods: ['GET'])]
    public function index(): int
    {
        return $this->view('index');
    }
}
```

#### Method-Based Routing

[](#method-based-routing)

Disable attribute routing by setting:

```
feature.route.attributes = false
```

Example:

```
namespace App\Controllers\Http;

use Luminova\Base\Controller;

class MainController extends Controller
{
    public function index(): int
    {
        return $this->view('index');
    }
}
```

Then register your route:

```
// /routes/web.php
$route->get('/', 'MainController::index');
```

**Using a Callback Handler:**

```
// /routes/web.php
use Luminova\Routing\Router;
use function Luminova\Funcs\view;

$router->get('/', function (): int {
    return view('index');
});
```

---

### Rendering Templates

[](#rendering-templates)

#### Inside a Controller

[](#inside-a-controller)

```
return $this->view(
    string $template,           // Template name
    array $options = [],        // View options
    string $type = View::HTML,  // Template content type
    int $status = 200           // HTTP status code
);
```

**Alternative Using Template Property (`$tpl`):**

```
return $this->tpl->view(
    string $template,           // Template name
    string $type = View::HTML   // Template content type
)->render(
    array $options = [],        // View options
    int $status = 200           // HTTP status code
);
```

**Global Helper Function:**

You can render views outside of a controller using the `view()` helper:

```
use function Luminova\Funcs\view;

return view(
    string $template,           // Template name
    array $options = [],        // View options
    string $type = View::HTML,  // Template content type
    int $status = 200           // HTTP status code
);
```

> To learn more about Luminova, see the **[official documentation](https://luminova.ng/docs/)**.

---

### Quick Tips

[](#quick-tips)

**Q:** My session works locally but not on production. **A:** Update `$sessionDomain` in `/app/Config/Session.php` to match your production domain (e.g., `'.' . APP_HOST`). Also check `Cookie.php` configuration.

**Q:** CSS or images are broken on production. **A:** Ensure `app.environment.mood` is set to `production` in your environment file to serve assets correctly.

---

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

[](#contributing)

If your contribution targets the core framework or its docs, use these repositories instead:

- **[Framework Source Code](https://github.com/luminovang/framework)**
- **[Documentation](https://github.com/luminovang/documentation)**

For this skeleton repository, pull requests should focus on:

- Improving the project structure
- Fixing default configuration files
- Enhancing developers experience

---

### Feedback

[](#feedback)

We welcome your feedback! Contact us at  with suggestions, feature requests, or tutorial ideas.

Don’t forget to ⭐ Luminova on GitHub. Your support helps us continue improving the framework and adding new features.

---

License
-------

[](#license)

Luminova is open-source and released under the MIT License.

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance80

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

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

Recently: every ~38 days

Total

57

Last Release

149d ago

Major Versions

1.9.9 → 2.0.02024-05-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/ce34af529a4ed50696211a2b4d330fbadd2d1738bc5d010523eb4a85cf342b17?d=identicon)[peterujah](/maintainers/peterujah)

---

Top Contributors

[![peterujah](https://avatars.githubusercontent.com/u/16369609?v=4)](https://github.com/peterujah "peterujah (195 commits)")

---

Tags

luminovaluminovangmvc-frameworknovakitphpphp-frameworkroutingphpframeworkmvchmvcphp frameworkmodern-phpweb-developmentluminovaphp luminovamodular frameworkLuminova Ngnovakitnovakit cli

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/luminovang-luminova/health.svg)

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

###  Alternatives

[cakephp/cakephp

The CakePHP framework

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

PHP Framework - Dframe

136.4k3](/packages/dframe-dframe)

PHPackages © 2026

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