PHPackages                             danmrichards/notaframework - 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. danmrichards/notaframework

ActiveLibrary[Framework](/categories/framework)

danmrichards/notaframework
==========================

NotAFramework - Something to get things done in PHP

v2.0.1(7y ago)020MITPHPPHP ^7.1.3

Since Mar 14Pushed 7y ago1 watchersCompare

[ Source](https://github.com/danmrichards/NotAFramework)[ Packagist](https://packagist.org/packages/danmrichards/notaframework)[ RSS](/packages/danmrichards-notaframework/feed)WikiDiscussions master Synced today

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

Not a Framework
===============

[](#not-a-framework)

[![Latest Version](https://camo.githubusercontent.com/3af5e3faa75525885f1757fba0bc202739d9603c0e6b0dc686a2b5fcd7bb6f79/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f64616e6d72696368617264732f6e6f74616672616d65776f726b2e737667)](https://github.com/danmrichards/NotAFramework/releases)[![Software License](https://camo.githubusercontent.com/43bb563baf29614ccfb355ad11d0036ffdc0cb9a4e14434214edb21cad60d88b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f64616e6d72696368617264732f6e6f74616672616d65776f726b2e7376673f7374796c653d666c6174)](LICENSE)[![Build Status](https://camo.githubusercontent.com/a57c4257f1aa577c5b5dc5bcc8566844d0914caadfe20ca57e68787314865acc/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f64616e6d72696368617264732f4e6f74414672616d65776f726b2f6d61737465722e7376673f7374796c653d666c6174)](https://travis-ci.org/danmrichards/NotAFramework)[![Quality Score](https://camo.githubusercontent.com/bc367351ea5b669075c2dc2d9c618c3b7cced3e925b43c5c62ef4385574ab07a/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f64616e6d72696368617264732f6e6f74616672616d65776f726b2e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/danmrichards/notaframework)[![Total Downloads](https://camo.githubusercontent.com/da129e3c7cf0c2b54f95a3cb3c999d08d404742d2d966ead5059d7effee08768/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f64616e6d72696368617264732f6e6f74616672616d65776f726b2e7376673f7374796c653d666c6174)](https://packagist.org/packages/danmrichards/notaframework)

This is not a framework, this is something to get things done in PHP.

This thing uses a few community packages to provide just enough functionality to do something useful.

For example [Whoops](https://github.com/filp/whoops) is used for error handling, [HttpFoundation](symfony/http-foundation) is used for HTTP and [PHRoute](https://github.com/mrjgreen/phroute) for routing. To name but a few.

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

[](#installation)

Installation is best handled via composer:

```
composer create-project --prefer-dist danmrichards/notaframework anewthing

```

Alternatively, if you dislike composer for some mad reason, you can download the zip file.

Routing
-------

[](#routing)

Routes are defined in the `src/App/Http/routes.php` file. By default routing is powered by [PHRoute](https://github.com/mrjgreen/phroute). So see that for full documentation, but basically routes can either be defined as closures:

```
$router->get('/example', function() {
    return 'This route responds to requests with the GET method at the path /example';
});

```

Or they can be defined against classes and methods, such as the 2 example routes defined in the file:

```
$router->get('/', ['NotAFramework\App\Controllers\HelloWorldController', 'show']);

```

Controllers
-----------

[](#controllers)

Controllers are placed in the `src/App/Controllers` directory and should be namespaced under `NotAFramework\App\Controllers;`.

There is no rigid pattern to follow with these controllers, you can add as many dependencies, helpers and additional traits/services/interfaces you like.

The example controller `src/App/Controllers/HelloWorldController.php` extends the base `NotAFramework\App\Controllers\Controller` abstract class. This allows the Symfony Request &amp; Reponse objects to be passed to the controller. This is good practice and will allow easier interfacing with the HTTP layer.

Dependency Injection
--------------------

[](#dependency-injection)

[Container](http://container.thephpleague.com/) from the PHP League handles dependency injection. All services are defined in the `src/App/container.php` file.

A few services have been set up by default; `Symfony\Component\HttpFoundation\Request` and `Symfony\Component\HttpFoundation\Response` are defined under the core services section. These are shared dependencies meaning that a single instance will be injected across the application.

Any additional services can be added at the bottom of this file. As an example the default front end renderer, Twig, has been defined. Notice that it has been defined as an alias of the `RendererInterface` interface, more on this below.

See the Container [documentation](http://container.thephpleague.com/) for more information.

Theming
-------

[](#theming)

By default Twig is used as the theme layer, but this can easily be substituted. Simply create a new renderer class in the `src/App/Render` directory which implements the `NotAFramework\App\Render\RendererInterface` interface. You cna then update the `src/App/container.php` file and controllers accordingly.

Twig, if used in file system mode, will look it's template files in the `templates` folder.

Tests
-----

[](#tests)

Yeah...all the packages are unit tested within themselves, and we have PHPUnit. So that'll do for now.

License
-------

[](#license)

MIT License yo!

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

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

Total

3

Last Release

2719d ago

Major Versions

v1.0.0 → v2.0.02019-01-19

PHP version history (2 changes)v1.0.0PHP &gt;=5.5.0

v2.0.0PHP ^7.1.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10706428?v=4)[Dan Richards](/maintainers/danmrichards)[@danmrichards](https://github.com/danmrichards)

---

Top Contributors

[![danmrichards](https://avatars.githubusercontent.com/u/10706428?v=4)](https://github.com/danmrichards "danmrichards (18 commits)")

---

Tags

phpframeworkaNot

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/danmrichards-notaframework/health.svg)

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

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.4k86.9M2.2k](/packages/symfony-symfony)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.5M378](/packages/easycorp-easyadmin-bundle)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19664.8M1.6k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6941.5M398](/packages/drupal-core-recommended)

PHPackages © 2026

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