PhpSandbox\PHPSandbox::_get_defined_functions PHP Méthode

_get_defined_functions() public méthode

Get PHPSandbox redefined functions in place of get_defined_functions(). This is an internal PHPSandbox function but requires public access to work.
public _get_defined_functions ( array $functions = [] ) : array
$functions array Array result from get_defined_functions() is passed here
Résultat array Returns the redefined functions array
    public function _get_defined_functions(array $functions = [])
    {
        if (count($this->whitelist['functions'])) {
            $functions = [];
            foreach ($this->whitelist['functions'] as $name => $value) {
                if (isset($this->definitions['functions'][$name]) && is_callable($this->definitions['functions'][$name])) {
                    $functions[$name] = $name;
                } else {
                    if (is_callable($name) && is_string($name)) {
                        $functions[$name] = $name;
                    }
                }
            }
            foreach ($this->definitions['functions'] as $name => $function) {
                if (is_callable($function)) {
                    $functions[$name] = $name;
                }
            }
            return array_values($functions);
        } else {
            if (count($this->blacklist['functions'])) {
                foreach ($functions as $index => $name) {
                    if (isset($this->blacklist['functions'][$name])) {
                        unset($functions[$index]);
                    }
                }
                reset($functions);
                return $functions;
            }
        }
        return [];
    }
PHPSandbox