caridea/module

A shrimp of an application module loader

3.0.0 2018-02-10 22:42 UTC

This package is not auto-updated.

Last update: 2024-10-24 03:31:25 UTC


README

Caridea is a miniscule PHP application library. This shrimpy fellow is what you'd use when you just want some helping hands and not a full-blown framework.

This is its module loader. You can use it to write extensible applications.

Packagist Build Status Scrutinizer Code Quality Code Coverage

Installation

You can install this library using Composer:

$ composer require caridea/module
  • The master branch (version 3.x) of this project requires PHP 7.1 and depends on caridea/container.
  • Version 2.x of this project requires PHP 7.0 and depends on caridea/container.

Compliance

Releases of this library will conform to Semantic Versioning.

Our code is intended to comply with PSR-1, PSR-2, and PSR-4. If you find any issues related to standards compliance, please send a pull request!

Features

The Caridea\Module\System class has three dependency containers: one for configuration properties, one for back-end objects and one for front-end objects. Modules can register objects in these containers. The configuration container is the parent of the back-end container, which in turn is parent of the front-end container.

namespace Acme;

class MyModule extends \Caridea\Module\Module
{
}

$modules = ['Acme\MyModule'];
$conf = []; // Read in your configuration from somewhere.
$system = new \Caridea\Module\System($modules, $conf);

$myObj = $system->getFrontendContainer()->get('myObject');