Download the PHP package rosasurfer/ministruts without Composer
On this page you can find all versions of the php package rosasurfer/ministruts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rosasurfer/ministruts
More information about rosasurfer/ministruts
Files in rosasurfer/ministruts
Package ministruts
Short Description MVC micro framework for PHP inspired by Java Struts
License Unlicense
Informations about the package 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.
V - The view component is realized by a layout engine inspired by the Struts 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. 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...
The project includes a special feature for command line interfaces that is worth mentioning: a syntax parser for the DocOpt 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.
MiniStruts XML reference: struts-config.dtd
ORM mapping reference: README.md
All versions of ministruts with dependencies
ext-ctype Version *
ext-filter Version *
ext-json Version *
ext-libxml Version *
ext-mbstring Version *
ext-simplexml Version *
phpmailer/phpmailer Version ^7.0
psr/container Version ^1.0|^2.0