A PHP implementation of Hiera

dev-master 2015-03-30 08:35 UTC

This package is auto-updated.

Last update: 2022-11-29 02:24:06 UTC


What is Hiera?

According to the Hiera website:

Hiera is a key/value lookup tool for configuration data.

Hiera uses a configurable hierarchy to enable "Cascading Configuration".

It's great for infrastructure configuration (which is why it's used in Puppet), but it also applies to multi-tenancy applications.

Hiera-PHP tries to be as much of a direct port as possible, maintaining support for original configuration files, and even internal classnames and interfaces.


hiera-php can be used both as a library, and as a console-tool


use Hiera\Hiera;
use Hiera\Scope;
use Hiera\ConfigLoader\YamlConfigLoader;

$scope = new Scope();
$scope->setVariable('::environment', 'production');
$scope->setVariable('::clientcert', 'web01.dc1.example.webx');
$scope->setVariable('::country', 'nl');
$hiera = new Hiera();
$loader = new YamlConfigLoader();
$loader->load($hiera, $path_to_hiera_yaml_file);

$key = 'some_configuration_key';
$answer = $hiera->lookup($key, '#default#', $scope);

Console tool

vendor/bin/hiera-php hiera:lookup some_configuration_key


  • Supports loading original hiera.yaml files
  • Supports pluggable backends
  • Yaml backend included (supporting original configuration yaml files)
  • Command line utility to perform lookups
  • Embeddable as a library
  • Json backend
  • Database (PDO, Redis, etc) backends
  • Memcached backend
  • Array merge strategies

Contributions are very welcome!


MIT (see

Brought to you by the LinkORB Engineering team

Check out our other projects at

Btw, we're hiring!