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

ActiveProject[Framework](/categories/framework)

obsidian-moon/framework
=======================

An Open Source, Lightweight and 100% Modular Framework in PHP

2.1.0(3y ago)06MITPHPPHP &gt;=8.1

Since Jan 5Pushed 3y ago1 watchersCompare

[ Source](https://github.com/obsidian-moon/framework)[ Packagist](https://packagist.org/packages/obsidian-moon/framework)[ Docs](https://github.com/obsidian-moon/framework)[ RSS](/packages/obsidian-moon-framework/feed)WikiDiscussions master Synced today

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

Obsidian Moon Framework
=======================

[](#obsidian-moon-framework)

Installing Obsidian Moon Framework
----------------------------------

[](#installing-obsidian-moon-framework)

Because Obsidian Moon Engine uses [Composer](http://getcomposer.org), you will need to install it before you can run the code with it. Once you have installed Composer you will then be able to install it by running the following command:

```
composer create-project obsidian-moon/framework
```

Once installed you can change the namespace of your application's files by entering the following into the `composer.json` file:

```
{
  "autoload": {
    "class-map": ["app/"],
    "files": ["app/mix.php"],
    "psr-4": {
      "ObsidianMoon\\Framework\\": "app/"
    }
  }
}
```

File Structure
--------------

[](#file-structure)

Once installed, you will find that the application will consist of the following structure.

```
.
|-- app/                // Application namespace root
|   |-- Controllers/    // Controllers for handling routes
|   |-- Entity/         // For storing entities, to be explained later
|   |-- Modules/        // Modular classes for handling various functionality
|-- config/             // For the presession modifications used by OME
|   |-- environment.php // Modifies system values if needed, before the session is started
|   |-- routes.php      // Routes for the application
|-- node_modules/       // If you use something like webpack, you would .gitignore this folder.
|-- public/             // Contains all the files that are available to user, eg. js, css, images, etc.
|   |-- .htaccess       // Look in examples for how to best set this
|   |-- index.php       // The primary entry point to your application.
|   |-- ...
|-- src/                // Required library directory used by OME
|   |-- js/             // Store your JS source files for webpack
|   |-- scss/           // SCSS that will be processed by webpack
|   |-- views/          // All view files will go in here
|   |-- ...
|-- vendor/             // Composer files needed for application, you can gitignore this
|-- common.php
|-- composer.json
|-- ...

```

Apache Support
--------------

[](#apache-support)

If you use apache you will be able to start setting up the routing by using the following in an `.htaccess` file in the app's `public` folder:

```

    # Enabling the mod_rewrite module in this folder
    RewriteEngine On
    Options -Indexes

    # Redirects invalid locations to index
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]

```

A more complete `.htaccess` file with caching has been included in the `public` folder.

Overview of the Base Methods
----------------------------

[](#overview-of-the-base-methods)

The framework uses Obsidian Moon Engine, and you can find more details regarding the methods in its [README.md](https://github.com/obsidian-moon/engine/blob/master/README.md#implementation)

Credits
-------

[](#credits)

Obsidian Moon Framework builds on top of [Obsidian Moon Engine](https://github.com/obsidian-moon/engine/) and uses the following libraries and projects in its development:

- [PHP 8](https://www.php.net/) with [Composer](https://getcomposer.org/) package manager.
- [Symfony 6 Components](https://symfony.com/components) for HTTP Requests and Routing.
- [Node.js](https://nodejs.org/) with NPM.
- [Laravel Mix](https://laravel-mix.com/), a wrapper for [webpack](https://webpack.js.org/) to compile assets.
- [HTML5 Boilerplate](https://html5boilerplate.com/), selected features to create HTML5 foundation for templates and views.
- [ESLint](https://eslint.org/) and [StyleLint](https://stylelint.io/) for ensuring proper coding in source JS and SCSS.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

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

Total

3

Last Release

1311d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4318946?v=4)[Obsidian Moon Development](/maintainers/obsidian-moon)[@obsidian-moon](https://github.com/obsidian-moon)

---

Top Contributors

[![opensaurusrex](https://avatars.githubusercontent.com/u/251690?v=4)](https://github.com/opensaurusrex "opensaurusrex (17 commits)")

---

Tags

framework

### Embed Badge

![Health badge](/badges/obsidian-moon-framework/health.svg)

```
[![Health](https://phpackages.com/badges/obsidian-moon-framework/health.svg)](https://phpackages.com/packages/obsidian-moon-framework)
```

###  Alternatives

[hemp/presenter

Easy Model Presenters in Laravel

247616.4k1](/packages/hemp-presenter)[pestphp/pest-plugin-stressless

Stressless plugin for Pest

681.0M18](/packages/pestphp-pest-plugin-stressless)[wpstarter/framework

The WpStarter Framework - Laravel Framework for WordPress

1610.2k5](/packages/wpstarter-framework)

PHPackages © 2026

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