nur-sery/nur_src/config/RefList.php

30 lines
695 B
PHP
Raw Normal View History

2023-12-03 22:10:18 +04:00
<?php
namespace nur\config;
/**
* Class RefList: une liste de référence construite avec un chemin de clé de
* base et une liste de suffixes
*/
class RefList extends Ref {
/** @var array */
public $pkeys;
function __construct(string $base_pkey, string ...$suffixes) {
parent::__construct("");
$pkeys = [];
foreach ($suffixes as $suffix) {
$pkeys[] = "$base_pkey.$suffix";
}
$this->pkeys = $pkeys;
}
function resolve(IConfigManager $cm, string $base_pkey, string $profile) {
$values = [];
foreach ($this->pkeys as $pkey) {
$this->pkey = $pkey;
$values[] = parent::resolve($cm, $base_pkey, $profile);
}
return $values;
}
}