DotsUnited\BundleFu\Filter\ClosureCompilerServiceFilter::filter PHP Метод

filter() публичный Метод

{@inheritDoc}
public filter ( $content )
    public function filter($content)
    {
        $postdata = http_build_query(array('js_code' => $content, 'output_format' => 'text', 'output_info' => 'compiled_code') + $this->parameters + array('compilation_level' => 'SIMPLE_OPTIMIZATIONS'), null, '&');
        $opts = array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata));
        $context = stream_context_create($opts);
        $result = file_get_contents('http://closure-compiler.appspot.com/compile', false, $context);
        if (false !== $result && trim($result) !== '') {
            return $result;
        }
        return $content;
    }

Usage Example

 public function testFilterInvalidCodeShouldReturnOriginalContent()
 {
     $filter = new ClosureCompilerServiceFilter();
     $uncompiled = "function js_1() {";
     $this->assertEquals($uncompiled, trim($filter->filter($uncompiled)));
 }
ClosureCompilerServiceFilter