🍤 Caridea is a miniscule PHP application library. This is a shrimpy module loader.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
.scrutinizer.yml
.travis.yml
LICENSE
README.md
composer.json
phpunit.xml.dist

README.md

caridea-module

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');