PHPackages                             dannykopping/fig - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. dannykopping/fig

ActiveLibrary

dannykopping/fig
================

Dead-simple configurations

31.3kPHP

Since Mar 17Pushed 13y ago1 watchersCompare

[ Source](https://github.com/dannykopping/Fig)[ Packagist](https://packagist.org/packages/dannykopping/fig)[ RSS](/packages/dannykopping-fig/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

### Fig - *Dead-simple configurations*

[](#fig---dead-simple-configurations)

[![Build Status](https://camo.githubusercontent.com/23c221879e11bce25667456ccffc2ae7e71fa3e4e07e8e3864950b23e638e18f/68747470733a2f2f7472617669732d63692e6f72672f64616e6e796b6f7070696e672f4669672e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/dannykopping/Fig)

Using `Fig` is stupidly easy. Install with Composer:

```
{
	"require": {
		"dannykopping/fig": "dev-master"
	}
}

```

To initialize a set of configuration options:

```
use Fig\Fig;

require_once "vendor/autoload.php";

Fig::setUp(array(
        "name" => "Fig",
        "multiple" => array(
            "levels" => array(
                "of" => "nesting goodness"
            )
        )
    )
);
```

To access your configuration options, either use simple strings for top-level keys:

```
echo Fig::get("name");  // prints "Fig"
```

...or use dot-notation to indicate hierarchy:

```
echo Fig::get("multiple.levels.of");  // prints "nesting goodness"
```

Oh - you want to set values, too?

```
Fig::set("year", 2013);
echo Fig::get("year");  // prints "2013" (and maintains your data types)
```

...even multi-level values!

```
Fig::set("calendar.years", array(2010,2011,2012,2013));
echo implode(", ", Fig::get("calendar.years"));  // prints "2010, 2011, 2012, 2013"
```

Wanna get rid of a bad fig?

```
Fig::delete("year");
echo Fig::get("year");  // prints null, key is removed
```

All your figs?

```
print_r(Fig::getAll());
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fe36318430fba8525b6b5c4ebd5c67016ade49fefaf70b7f1e02563a322f144e?d=identicon)[dannykopping](/maintainers/dannykopping)

---

Top Contributors

[![dannykopping](https://avatars.githubusercontent.com/u/373762?v=4)](https://github.com/dannykopping "dannykopping (7 commits)")

### Embed Badge

![Health badge](/badges/dannykopping-fig/health.svg)

```
[![Health](https://phpackages.com/badges/dannykopping-fig/health.svg)](https://phpackages.com/packages/dannykopping-fig)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
