PHPackages                             phillipsharring/handlr-app-skeleton - 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. phillipsharring/handlr-app-skeleton

Abandoned → [phillipsharring/handlr-app](/?search=phillipsharring%2Fhandlr-app)Project[Framework](/categories/framework)

phillipsharring/handlr-app-skeleton
===================================

App skeleton for Handlr, a lightweight PHP middleware framework

v0.1.0(3mo ago)03MITPHPPHP &gt;=8.4

Since Apr 4Pushed 2mo agoCompare

[ Source](https://github.com/phillipsharring/handlr-app-skeleton)[ Packagist](https://packagist.org/packages/phillipsharring/handlr-app-skeleton)[ Docs](https://github.com/phillipsharring/handlr-app-skeleton)[ RSS](/packages/phillipsharring-handlr-app-skeleton/feed)WikiDiscussions main Synced today

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

Handlr App Skeleton
===================

[](#handlr-app-skeleton)

[![Handlr](handlr.png)](handlr.png)

Starter project for building applications with [Handlr Framework](https://github.com/phillipsharring/handlr-framework), a lightweight PHP middleware-style framework.

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

[](#installation)

### Using the Handlr Installer (recommended)

[](#using-the-handlr-installer-recommended)

```
composer global require phillipsharring/handlr-installer:dev-main --prefer-stable

handlr new my-project
```

### Using Composer

[](#using-composer)

```
composer create-project phillipsharring/handlr-app my-project
```

### Cloning the repository

[](#cloning-the-repository)

```
git clone git@github.com:phillipsharring/handlr-app.git my-project
cd my-project
rm -rf .git
composer install
git init
```

Project Structure
-----------------

[](#project-structure)

```
app/                  Application code (PSR-4: App\)
  Auth/               Authentication (login, signup, logout, data layer)
  Events/             Event listener registration
  Users/              User CRUD handlers
  Roles/              Role & permission CRUD handlers
bootstrap.php         DI container setup, config loading, event registration
migrations/           Database migrations
seeds/                Database seeders
public/               Web root (index.php)
logs/                 Application logs
tests/                Pest test suite

```

Configuration
-------------

[](#configuration)

Copy `.env.example` to `.env` and configure your database connection:

```
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_app
DB_USERNAME=root
DB_PASSWORD=

```

Development
-----------

[](#development)

### Local Server

[](#local-server)

```
composer run dev
```

Starts PHP's built-in server at `http://localhost:8000`.

### Database

[](#database)

```
composer run migrate          # Run next pending migration
composer run migrate:fresh    # Drop all tables and re-run all migrations
composer run migrate:rollback # Roll back the last migration
composer run seed             # Run seeders
composer run seed:fresh       # Truncate seeded tables and re-seed
composer run fresh            # migrate:fresh + seed:fresh
```

### Code Generation

[](#code-generation)

```
composer run make:migration CreateItemsTable
composer run make:record Item
composer run make:table ItemsTable
composer run make:handler CreateItem
composer run make:pipe PostCreateItem
composer run make:scaffold Item    # All of the above at once
```

### Tests

[](#tests)

```
composer run test
```

Architecture
------------

[](#architecture)

This skeleton follows the Handlr convention of organizing code by **feature**, not by type:

```
app/
  Users/
    CreateUser/
      PostCreateUser.php         (Pipe  - HTTP layer)
      CreateUserHandler.php      (Handler  - business logic)
      CreateUserInput.php        (HandlerInput  - validated input)
    Read/
      GetUsersList.php           (Pipe  - list endpoint)
      GetOneUser.php             (Pipe  - detail endpoint)
    Data/
      UsersTable.php             (Table  - CRUD)
      UsersAdminQuery.php        (Query  - complex reads)
    Domain/
      UserRecord.php             (Record  - domain object)

```

**Pipes** handle HTTP (extract input, call handler, format response). **Handlers** contain business logic (receive typed input, return result). Routes wire pipes together in `app/routes.php`.

What's Included
---------------

[](#whats-included)

- User, role, and permission management (CRUD + assignment)
- Session-based authentication (login, logout, signup)
- CSRF protection with token rotation
- CORS handling (same-origin)
- Event system with listener registration
- Database migrations for users, roles, permissions, and sessions

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance84

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

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

91d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11220?v=4)[Phil Harrington](/maintainers/phillipsharring)[@phillipsharring](https://github.com/phillipsharring)

---

Top Contributors

[![phillipsharring](https://avatars.githubusercontent.com/u/11220?v=4)](https://github.com/phillipsharring "phillipsharring (105 commits)")

---

Tags

frameworkhandlr

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/phillipsharring-handlr-app-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/phillipsharring-handlr-app-skeleton/health.svg)](https://phpackages.com/packages/phillipsharring-handlr-app-skeleton)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[shopware/platform

The Shopware e-commerce core

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

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[spiral/framework

Spiral, High-Performance PHP/Go Framework

2.1k2.2M66](/packages/spiral-framework)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)

PHPackages © 2026

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