caridea / module
A shrimp of an application module loader
Requires
- php: >=7.1.0
- caridea/container: ^3.0
Requires (Dev)
- phpunit/phpunit: ^6.0.0
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.
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');