samrap / gestalt
Gestalt is a simple, elegant PHP package for managing your framework's configuration values.
Installs: 3 369
Dependents: 3
Suggesters: 0
Security: 0
Stars: 16
Watchers: 4
Forks: 2
Open Issues: 2
Requires
- php: >=5.6
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^5.5
This package is not auto-updated.
Last update: 2024-12-21 20:46:47 UTC
README
ge·stalt (n): Something that is made of many parts and yet is somehow more than or different from the combination of its parts; broadly : the general quality or character of something.
Gestalt is a simple and elegant PHP package for managing your framework's configuration values. It is lightweight, flexible, framework agnostic, and has no dependencies other than PHP itself.
Features
- Lightweight: Gestalt is built to be lightweight. No dependencies, no bloat, just an object-oriented wrapper around your framework's configuration.
- Powerful: Who said lightweight means powerless? Gestalt has a small footprint but packs a mean punch. Just take a look at its Custom Loaders and Observers and you'll see for yourself.
- Flexible: Developers like to do things our way. Gestalt gives you the flexibility to integrate seamlessly with your application.
- Expressive syntax: With its clean, collection-like syntax, code artisans will feel right at home. Messy developers will like it too!
Examples
The following are just a few of the features Gestalt has to offer. Visit the docs for more on installation, usage, and features.
Basic Usage (Learn More)
$config = new Configuration([ 'app' => [ 'debug' => true, 'version' => '1.0', ], ]); // Get values using dot notation or ArrayAccess. $config->get('app.debug'); $config['app']; // Add values using dot notation or ArrayAccess. $config->add('app.locale', 'en'); $config['mail'] = ['driver' => 'MailMonkey'];
Custom Loading (Learn More)
$config = Configuration::load(new JsonFileLoader); $config->get('app.debug');
Observers (Learn More)
$config = new Configuration($values); $config->attach(new StatefulObserver); // Notifies the StatefulObserver that the // Configuration has been updated. $config->set('app.debug', false);
Interested? Check out the docs to see all of the features in action!