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.
- 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!
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!