$configData = [
"currency" => [
[["user" => "1024"], "frank"],
[["lang" => "br"], "real"],
[["lang" => "ru"], "ruble"],
],
"social_networks" =>
[
[["user" => "1024", "lang" => "ru", "env" => "dev"], ["no"]],
[["user" => "1024", "lang" => "ru"], ["fb", "vk"]],
[["user" => "1024", "lang" => "br"], ["fb", "vk", "ok", "fb", "bs"]],
[["user" => "1024", "env" => "dev"], ["fb", "vk", "ok"]],
[["user" => "1024"], ["fb"]],
[["lang" => "ru"], ["fb", "vk", "ok"]],
[["lang" => "br"], ["fb", "bs"]],
[[], ["fb", "gp"]]
],
"api_host" => [
[["env" => "dev"], "sandbox.api.com"],
[[], "api.com"]
],
];
$compiler = new Compiler();
$compiled = $compiler->compile(["env", "lang", "user"], $configData);
$selector = new Selector($compiled);
$config = $selector->getConfig(["dev", "ru", "10000"]);
var_dump($config["api_host"]);
$config = $selector->getConfig(["prod", "ru", "1024"]);
var_dump($config["api_host"]);
-
Notifications
You must be signed in to change notification settings - Fork 0
Library to create awesome hierarchical configs
License
LinguaLeo/php-hi-config
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Library to create awesome hierarchical configs
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published