PHPackages                             monolyth/lodger - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. monolyth/lodger

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

monolyth/lodger
===============

Codger recipes for Monolyth components

1.1.1(2y ago)029[2 PRs](https://github.com/monolyth-php/lodger/pulls)1MITPHPPHP &gt;=8CI failing

Since Dec 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/monolyth-php/lodger)[ Packagist](https://packagist.org/packages/monolyth/lodger)[ RSS](/packages/monolyth-lodger/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (10)Used By (1)

monolyth/lodger
===============

[](#monolythlodger)

Codger recipes for Monolyth components

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

[](#installation)

Using Composer (recommended):

```
$ composer require --dev monolyth/lodger
```

Usage
-----

[](#usage)

See [the Codger documentation](https://codger.monomelodies.nl) for general usage.

Included recipes
----------------

[](#included-recipes)

### `lodger/module`

[](#lodgermodule)

Generates an entire Monolyth-style module. `--skip-SOMETHING` options are provided to skip certain components, e.g. `--skip-model` to not generate a model.

### `lodger/model`

[](#lodgermodel)

Generate a model. By default properties are added according to a corresponding database table; use `--skip-prefill` to skip this. Optionally specify `--ornament` to make the model [Ornament-compatible](https://ornament.monomelodies.nl).

### `lodger/repository`

[](#lodgerrepository)

Generate a repository. Though not technically a part of Monolyth (since we don't want to dictate how you handle your data), in practice Monolyth projects tend to use repositories for all (database) storage operations - i.e., insert, update, delete and select.

Generated repositories hold basic common methods such as `save`, `all` and `find`. However, the implementation is up to you. If your repositories follow a common structure, we recommend extending a base class instead. For database-based storage, have a look at the `DatabaseRepository` in `sensimedia\supporty`. It plays very nicely with Monolyth, but does make some assumptions based on how Sensi Media (my company) builds its projects.

### `lodger/view`

[](#lodgerview)

Generate a generic (page) view.

### `lodger/listing/view` and `lodger/listing/template`

[](#lodgerlistingview-and-lodgerlistingtemplate)

Generate a view and template for a "listing page". This contains basically the output of a repository's `all()` call, with clickable links.

### `lodger/detail/view` and `lodger/detail/template`

[](#lodgerdetailview-and-lodgerdetailtemplate)

Generate a view and template for a "detail view". This is where you end up when you click on one of the listing links ;)

### `lodger/controller`

[](#lodgercontroller)

Generate a generic CRUD controller. The generated `create`, `update` and `delete` methods work out of the box with the corresponding repository, but of course do nothing yet since we aren't dictating how you should store your data (or handle permissions, for that matter).

### `lodger/form`

[](#lodgerform)

Generate a Formulaic form to go with the module.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

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

Recently: every ~321 days

Total

7

Last Release

1047d ago

PHP version history (2 changes)1.0.0PHP &gt;=7.3

1.1.0PHP &gt;=8

### Community

Maintainers

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

---

Top Contributors

[![monomelodies](https://avatars.githubusercontent.com/u/260346?v=4)](https://github.com/monomelodies "monomelodies (148 commits)")

### Embed Badge

![Health badge](/badges/monolyth-lodger/health.svg)

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

###  Alternatives

[lullabot/amp

A set of useful classes and utilities to convert html to AMP html (See https://www.ampproject.org/)

3802.9M10](/packages/lullabot-amp)[pragmarx/coollection

Laravel Illuminate collection with objectified properties

943.4M11](/packages/pragmarx-coollection)[valorin/random

Random is a simple helper package designed to make it easy to generate a range of different cryptographically secure random values.

228188.4k2](/packages/valorin-random)[pragmarx/ia-str

Laravel Illuminate Agnostic Str

523.5M5](/packages/pragmarx-ia-str)[roots/acorn-prettify

Theme-agnostic front-end modifications for WordPress

57238.6k5](/packages/roots-acorn-prettify)[sailenicolas/forceutf8

PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.

53267.9k](/packages/sailenicolas-forceutf8)

PHPackages © 2026

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