PHPackages                             magnafacta/mutil - 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. magnafacta/mutil

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

magnafacta/mutil
================

MagnaFacta Utilities for site development

v2.0.10(3w ago)04.7k11BSD-3-ClausePHPPHP &gt;=8.1

Since Mar 30Pushed 3w ago3 watchersCompare

[ Source](https://github.com/GemsTracker/MUtil)[ Packagist](https://packagist.org/packages/magnafacta/mutil)[ Docs](http://magnafacta.info/)[ RSS](/packages/magnafacta-mutil/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (27)Versions (53)Used By (1)

MUtil
=====

[](#mutil)

MUtil is a collection of PHP library classes that extend the Zend Framework for web developement.

The collection contains a number of simple utility classes as well as containing an alternative framework for creating Html using the MVC extentions described next.

Model
-----

[](#model)

The Model classes implement not just storage models (reading and writing to files and databases) but also meta data about the data like labels, constraints and value options.

This meta information allows generic code to be used for standard views for browsing, viewing, editing and deleting.

Lazy / Late execution
---------------------

[](#lazy--late-execution)

The Lazy classes allow "late execution". Late execution means the code is not executed where it is specified in the code, but at a later moment, usually the moment when the output of the page is rendered.

This allows a programmer to state e.g. that the colspan attribute of a cell object in a table object should have the value of the highest number of columns of each of the table rows. If extra columns are added to the table at a later stage (but before rendering) then the colspan value will still be correct.

The most common use is in combination with repetition. Instead of looping through table data and adding a row each time, we just create a row and a repeater object. The row is the filled with objects that will read the data from the repeater object at rendering time. When rendering the table the row is rendered again and again, as long as the repeater object has row data. The output is the same as we would have had we looped through the data, but the code looks more elegant (in my opinion) and usually creates less objects (if the output contains more than two rows).

Html
----

[](#html)

The html classes allow you to create HTML using object oriented notation, using an array-like object. String elements are attributes (except when a different interpretation makes more sense), numeric items fill the content. You create sub-elements throug functions calls. If you have an html object and want to create a DIV element with the class attribute 'Hhllo' and World as the content you just call:

```
$html->div(array('class' => 'hello'), 'World');

```

The Html classes understand late execution.

Snippets
--------

[](#snippets)

Snippets are html objects with routing added. E.g. a Form snippet usually displays an Html form, but if the form data is saved the snippet redirect the output e.g. to a detailed view.

Snippets combine the Model and the Html classes. There are standard snippets to create forms for editing, detail view pages and paginated browse pages; all using the meta data in the model. (Of course the browse pages use the Lazy classes for creation.)

[![Build Status](https://camo.githubusercontent.com/2a48e4acd494e2efcfd8222f46b3332aa586f79556a7e5eaf64b5caace4cd312/68747470733a2f2f7472617669732d63692e6f72672f47656d73547261636b65722f4d5574696c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/GemsTracker/MUtil)

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance95

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity85

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 70.2% 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 ~103 days

Recently: every ~54 days

Total

37

Last Release

23d ago

Major Versions

1.9.1-p3 → 2.0.02024-08-07

PHP version history (2 changes)1.7.2PHP &gt;=5.3.9

2.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/922643?v=4)[Menno Dekker](/maintainers/mennodekker)[@mennodekker](https://github.com/mennodekker)

---

Top Contributors

[![mddejong](https://avatars.githubusercontent.com/u/13658302?v=4)](https://github.com/mddejong "mddejong (644 commits)")[![mennodekker](https://avatars.githubusercontent.com/u/922643?v=4)](https://github.com/mennodekker "mennodekker (184 commits)")[![jvangestel](https://avatars.githubusercontent.com/u/2872528?v=4)](https://github.com/jvangestel "jvangestel (69 commits)")[![mrook](https://avatars.githubusercontent.com/u/477719?v=4)](https://github.com/mrook "mrook (20 commits)")[![AndoMF](https://avatars.githubusercontent.com/u/52169040?v=4)](https://github.com/AndoMF "AndoMF (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/magnafacta-mutil/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M738](/packages/sylius-sylius)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)[symfony/symfony

The Symfony PHP framework

31.4k87.2M2.2k](/packages/symfony-symfony)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)[tempest/framework

The PHP framework that gets out of your way.

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

PHPackages © 2026

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