1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-23 23:32:40 +01:00
phorge-phorge/src/infrastructure/env/PhabricatorConfigFileSource.php
epriestley 19b2c3d3d0 Formalize configuration sources and source stacks
Summary: Currently, we have a configuration stack for unit tests, but they're built in to `PhabricatorEnv`. Pull them out and formalize them, so we can add more configuration sources (e.g., database).

Test Plan: Ran unit tests, web requests, scripts. This code had fairly good existing test coverage.

Reviewers: btrahan, vrana

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2223, T2221

Differential Revision: https://secure.phabricator.com/D4284
2012-12-25 06:44:29 -08:00

23 lines
636 B
PHP

<?php
/**
* Configuration source which reads from a configuration file on disk (a
* PHP file in the conf/ directory). This source
*/
final class PhabricatorConfigFileSource
extends PhabricatorConfigProxySource {
/**
* @phutil-external-symbol function phabricator_read_config_file
*/
public function __construct($config) {
$root = dirname(phutil_get_library_root('phabricator'));
require_once $root.'/conf/__init_conf__.php';
$dictionary = phabricator_read_config_file($config);
$dictionary['phabricator.env'] = $config;
$this->setSource(new PhabricatorConfigDictionarySource($dictionary));
}
}