Можно ли считать метод с внешними зависимостями от статической конфигурации чистым?

У меня есть этот класс.

<?php

class Helper
{
private $config;

public function __construct(array $config)
{
$this->config = $config;
}

public function getVal($key)
{
return $this->config[$key];
}
}

Конфигурация устанавливается во время загрузки и не может быть изменена во время выполнения, поэтому для конкретной среды выполнения одни и те же аргументы всегда будут давать одинаковые результаты, но мы не можем сказать одно и то же о разных экземплярах программы.

Можно getVal(string) считаться чистой функцией?

Другая, не ООП-версия той же функциональности будет выглядеть так:

<?php

function getVal($key){
static $config;

if ($config === null) {
$config = include "config.php";
}

return $config[$key];
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]