PHPackages                             rosasurfer/ministruts - 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. [Database &amp; ORM](/categories/database)
4. /
5. rosasurfer/ministruts

ActiveLibrary[Database &amp; ORM](/categories/database)

rosasurfer/ministruts
=====================

MVC micro framework for PHP inspired by Java Struts

0.12(2mo ago)1899UnlicensePHPPHP ^7.4|^8.0CI passing

Since Apr 12Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/rosasurfer/ministruts)[ Packagist](https://packagist.org/packages/rosasurfer/ministruts)[ RSS](/packages/rosasurfer-ministruts/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (45)Used By (0)

[![Build Status](https://camo.githubusercontent.com/41b362f422bab6d0a60624d6b3a581f22cb37fc7b76f873610edc92e438e5110/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4275696c645f7374617475732d7061737365642d677265656e3f7374796c653d666c6174266c6f676f3d47697448756226636f6c6f723d253233346363363165)](https://github.com/rosasurfer/ministruts/actions?query=branch%3Amaster#)[![PHPStan Level](https://camo.githubusercontent.com/0132e667988ce53a53880a8785d0335ef3f0541e9d5583276eb4dc205a76df9b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f79616d6c3f75726c3d68747470732533412532462532467261772e67697468756275736572636f6e74656e742e636f6d253246726f73617375726665722532466d696e697374727574732532467265667325324668656164732532466d61737465722532466574632532467068707374616e2532467068707374616e2e646973742e6e656f6e2671756572793d2532342e706172616d65746572732e6c6576656c267072656669783d4c6576656c253230267374796c653d666c6174266c6f676f3d476974487562266c6162656c3d5048505374616e26636f6c6f723d25323334636336316523)](https://github.com/rosasurfer/ministruts/actions?query=branch%3Amaster#)

MiniStruts
----------

[](#ministruts)

**MVC** micro framework for PHP inspired by Java Struts

**M** - The basis of the model component is an ORM. The ORM is implemented as "DataMapper" and follows the "database first" approach. This approach is primarily intended for working with existing databases. The implementation requires neither code generation nor proxy classes (no surprises from code you didn't write). As long as tables have primary keys, any standard or non-standard db model can be connected and customized. The configuration is done in pure PHP (no annotations or attributes). The ORM is inspired by [Hibernate](https://hibernate.org/#).

**V** - The view component is realized by a layout engine inspired by the [Struts Tiles](https://struts.apache.org/plugins/tiles/#) plugin. Pages can be assembled from reusable layouts and HTML fragments. Both can be configured and extended as needed. The template language is pure PHP (no pre-compilation of HTML necessary).

**C** - The controller part is comprised of application framework, configuration, service container, access control, caching, error handling and logging. The web stack of the framework was inspired by [Java Struts 1](https://struts.apache.org/#). Version 1 had long since been superseded by its successor and was practically no longer used. But in 2022 developers decided to revive it because of its simplicity and solidity, and to adapt it to current web standards. [Long live Struts](https://weblegacy.github.io/struts1/#)...

---

The project includes a special feature for command line interfaces that is worth mentioning: a syntax parser for the [DocOpt](http://docopt.org/#)standard, which is well known in the Linux/Python world, but little known in the PHP universe. The DocOpt standard uses the syntax description of the tool itself to define call options. At runtime, the syntax description is parsed and validated against the current call. The result are beautiful syntax definitions even for more complex tools (no more ugly Symfony error messages). Examples are [here](src/console/docopt/examples/git), or you can try out the online parser [here](https://web.archive.org/web/20221006200023/http://try.docopt.org/#).

---

MiniStruts XML reference: [struts-config.dtd](src/struts/dtd/struts-config.dtd)

ORM mapping reference: [README.md](src/db/orm/README.md)

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance88

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity71

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

Recently: every ~61 days

Total

41

Last Release

87d ago

PHP version history (7 changes)0.6PHP &gt;=5.6

0.7.1PHP ^5.6

0.8.x-devPHP 5.6 - 7.1

0.10.4PHP 5.6 - 8

0.11PHP 7.4 - 8

0.11.5PHP ^7.4|^8.0

0.10.9PHP ^5.6|^7.0|^8.0

### Community

Maintainers

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

---

Top Contributors

[![rosasurfer](https://avatars.githubusercontent.com/u/12749283?v=4)](https://github.com/rosasurfer "rosasurfer (4258 commits)")

---

Tags

data-mappermvcormphpstrutsweb-framework

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/rosasurfer-ministruts/health.svg)

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

###  Alternatives

[robmorgan/phinx

Phinx makes it ridiculously easy to manage the database migrations for your PHP app.

4.5k46.2M405](/packages/robmorgan-phinx)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[phpauth/phpauth

A secure user authentication class for PHP websites, using a powerful password hashing system and attack blocking to keep your website and users secure.

894196.1k3](/packages/phpauth-phpauth)[hyperf/database

A flexible database library.

202.8M257](/packages/hyperf-database)

PHPackages © 2026

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