Организация системы параметров

Где-то попадалась мне на глаза интересная и полезная штука. В любом файле/месте сайта мы задаем параметры и так же в любом другом можем их получить. Параметром может быть одно значение или огромный массив, это не важно. Важно то, что я не помню, где такое видел и не представляю, как такое организовать.
Поможете с этим вопросом?
Покажу простой пример, как можно организовать такую систему параметров. Написал класс parameter:
class parameter
{
	private $params = [];

	// Установка параметров
	public function setParam($key, $val)
	{
		$this->params[$key] = $val;
	} // Установка параметров End

	// Получение параметров
	public function getParam($key)
	{
		return $this->params[$key];
	} // Получение параметров End
}

Создаем объект класса:
$parameter = new parameter();

Теперь устанавливаем параметр (Ключ: "test" Значение: "Ok!"):
$parameter->setParam('test', 'Ok!');

И там, где надо получить данный параметр, делаем так:
$val = $parameter->getParam('test');

Теперь переменная $val содержит в себе значение Ok!. Кроме строк, устанавливать можно и массивы.
Так просто и работает! Спасибо за класс!