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