mnhcc/ml-core

Minimalus Layoutilus — core autoloader, base object model, helpers, config and event bus

Maintainers

Statistics

Installs: 4

Dependents: 2

Suggesters: 0

Stars: 0

v1.0.0 2026-05-20 12:47 UTC

This package is auto-updated.

Last update: 2026-06-20 21:39:21 UTC


README

PHP 7.4 PHP 8.1 PHP 8.5

Core package of the Minimalus Layoutilus PHP framework.

Provides the custom SPL autoloader (BootstrapHandler), base object model (MNHcC, Bootstrap), scalar box types (AutoBox\Scalar), array/string helpers, the constant/config bootstrap, and the event bus (EventManager + Event + EventParms).

Requirements

  • PHP ≥ 5.4

Installation

composer require mnhcc/ml-core

Bootstrap

namespace mnhcc\ml { const INDEX = true; }

require_once __DIR__ . '/vendor/autoload.php';

mnhcc\ml\classes\BootstrapHandler::initial(__DIR__);

BootstrapHandler::initial() registers the SPL autoloader, defines global constants (NSS, n, br, php, DS) and path constants (MNHCC_PATH, ROOT_PATH).

Autoloader

The autoloader maps namespace segments to files using non-standard extensions:

Extension Type
.class.php class
.interface.php interface
.trait.php trait

Event bus

A small static event dispatcher. Listeners register against a normalised event name (leading on stripped, ucfirst); raise() dispatches a name + EventParms payload to every registered listener in order.

use mnhcc\ml\classes\EventManager;
use mnhcc\ml\classes\Event;
use mnhcc\ml\classes\EventParms;

EventManager::register(new Event(function (EventParms $p) {
    // do something with $p->getParms() / $p->get('key')
}, 'myEvent'));

EventManager::raise('myEvent', new EventParms(['key' => 'value']));

Today's bus is fire-and-forget — listeners observe but cannot vote on the result. See docs/EVENT_SYSTEM.md for the current behaviour, the gaps, and the planned interventional/filter extensions.

License

LGPL-2.1-only