PHPackages                             darling/roady - 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. darling/roady

ActiveProject[Framework](/categories/framework)

darling/roady
=============

A modular Component driven PHP framework.

v1.1.2(4y ago)7371[1 issues](https://github.com/sevidmusic/roady/issues)MITHTMLPHP ^8.0CI passing

Since Feb 2Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/sevidmusic/roady)[ Packagist](https://packagist.org/packages/darling/roady)[ RSS](/packages/darling-roady/feed)WikiDiscussions Roady Synced today

READMEChangelog (10)Dependencies (4)Versions (145)Used By (0)

```
    ____                  __
   / __ \____  ____ _____/ /_  __
  / /_/ / __ \/ __ `/ __  / / / /
 / _, _/ /_/ / /_/ / /_/ / /_/ /
/_/ |_|\____/\__,_/\__,_/\__, /
                        /____/

```

[![Roady logo](https://raw.githubusercontent.com/sevidmusic/roady/roady/roadyLogo.png)](https://raw.githubusercontent.com/sevidmusic/roady/roady/roadyLogo.png)

Development of Roady v2.0
=========================

[](#development-of-roady-v20)

Roady is a `php` framework I have been developing for a long time. At this point it is a passion project. I love coding, working on Roady makes me happy.

Roady `v1.1.2` is the current stable version of Roady, and can be found here:

Roady v2.0 is a complete re-write of Roady that will be influenced by Roady's original design, but will not be compatible with previous versions of Roady.

For over a year I have had to put development of Roady on pause, life can get busy.

I am very happy to be able to resume development of Roady, and hope to make a lot of progress over the next year.

Note: This document is still being drafted, and will continue to evolve over time.

About
=====

[](#about)

Roady is a modular `php` framework.

With Roady the features and functionality of a website are implemented by individual Modules.

For example, say my band used Roady to build our website, and we needed a music player, that music player would be implemented by a Module.

If we needed a calender to show upcoming gigs, it would be implemented by a different Module.

Multiple websites can run on a single installation of Roady, each making use of one or more installed Roady Modules.

Modules
=======

[](#modules)

### Anatomy of a Module

[](#anatomy-of-a-module)

DirectoryDescription`css`This is where `css` stylesheets should be located.`js`This is where `javascript` files should be located.`output`This is where `php` and `html` files should be located.`APPROPRIATE.SITE.AUTHORITY.json`This file defines hard-coded Routes for a specific website.How a Module Works
==================

[](#how-a-module-works)

Modules should be located in Roady's `modules` directory.

```
/path/to/Roady/modules

```

Modules may define `output` to be displayed via Roady's UI in the form of `html` or `php` files.

Modules may define `css` stylesheets and `javascript` files to define styles and implement additional functionality for a website.

Modules may serve `php`, `html`, `css`, and `javascript`, in Response to a Request to a website via the Routes defined in a `json`file which is named after the website's Domain's Authority.

For example, `sub.example.com.8080.json` would be the name of the `json` file used to define Routes for a website with the following Domain:

```
 https://sub.example.com:8080/
 |       \__________________/|
 |               |           |
 |           AUTHORITY       |
  \_________________________/
               |
            Domain

```

Using a website's Domain's Authority to name Route configuration files allows Modules to define unique Routes for each website.

### Routes

[](#routes)

A Route defines the following:

- The Name of the Module the Route is configured for. Note: It is possible for a Module to define a Route for another Module by setting the Route's Module name to the name of the relevant Module.
- A collection of Names that correspond to the Names of the Requests that a Route should be served in response to.
- A collection of Named Positions that correspond to the Named Positions provided by Roady's UI. These Named Positions are used to structure the collective output of all of the Route's that respond to the same Request.
- A Relative Path to a `php` file, `html` file, `css` file, or `javascript` file.

For example, the following `json` defines a single Route to a `html`file named `output-file.html`:

```
{
    "module-name": "module-name",
    "responds-to": [
        "name-of-a-request-this-route-responds-to"
    ],
    "named-positions": [
        {
            "position-name": "roady-ui-named-position-c",
            "position": 1.7
        }
    ],
    "relative-path": "path\/to\/output-file.html"
}
```

Roady's User Interface (UI)
===========================

[](#roadys-user-interface-ui)

Roady's UI uses the Routes defined by installed Modules to determine the `html` that should be rendered in Response to a Request.

Roady's UI uses the Named Positions provided by an internally defined `html` layout to structure the collective output of Routes that respond to the same Request:

```
>

```

The following table is an overview of the purpose of each of the Named Positions provided by Roady's UI's internally defined `html` layout:

Named PositionPurpose``This position name is reserved for internal use, Roady's UI determines the page title based on the Request that was made.``For `description` meta data that should be rendered in the value attribute of a ` ` tag in the `` section of the output Rendered by Roady's UI.``For `keyword` meta data that should be rendered in the value attribute of a ` ` tag in the `` section of the output Rendered by Roady's UI.``For `author` meta data that should be rendered in the value attribute of a ` ` tag in the `` section of the output Rendered by Roady's UI.``For `` tags rendered for Routes to css stylesheets.``For `` tags rendered for Routes to javascropt files.``For output that shoud be rendered before the ``.``For output that should be rendered within the ``.``For output that should be rendered within ``.``For output that should be rendered within the ``.``For Routes to javascript files that should be loaded after the closing `` tag.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance49

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity76

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

Recently: every ~165 days

Total

143

Last Release

141d ago

Major Versions

v0.9.9.9-beta → v1.0.02021-12-07

v1.1.2 → v2.0.0-alpha-02024-01-25

PHP version history (2 changes)v1.0.1PHP ^8.0

v2.0.0-alpha-0PHP ^8.1

### Community

Maintainers

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

---

Top Contributors

[![sevidmusic](https://avatars.githubusercontent.com/u/10404993?v=4)](https://github.com/sevidmusic "sevidmusic (1461 commits)")

---

Tags

php

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/darling-roady/health.svg)

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

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M255](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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