Google\Cloud\Dev\Snippet\Parser\Snippet::invoke PHP Method

invoke() public method

Eval the snippet and return the result.
public invoke ( $returnVar = null ) : mixed
return mixed
    public function invoke($returnVar = null)
    {
        $content = $this->config['content'];
        $return = $returnVar ? sprintf('return %s;', $this->createReturnVar($returnVar)) : '';
        $use = [];
        foreach ($this->use as $class) {
            $use[] = 'use ' . $class . ';';
        }
        if (!empty($use)) {
            $content = implode("\n", $use) . $content;
        }
        $cb = function ($return) use($content) {
            extract($this->locals);
            ob_start();
            $res = eval($content . "\n\n" . $return);
            $out = ob_get_clean();
            return new InvokeResult($res, $out);
        };
        return $cb($return);
    }