具有外部依赖性的静态配置方法是否可以被认为是纯粹的?

时间:2017-03-03 10:18:42

标签: php functional-programming pure-function

我正在上课。

<?php

class Helper
{
    private $config;

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

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

配置是在引导时设置的,并且在运行时不能更改,因此对于特定的运行时,相同的参数将始终给出相同的结果,但我们不能对程序的不同实例说同样的事情。

getVal(string)可以被视为纯函数吗?

相同功能的另一个非OOP版本是:

<?php

function getVal($key){
    static $config;

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

    return $config[$key];
}

0 个答案:

没有答案