⚡ PHP client for the Google Closure Compiler API in one file.
- PHP 7.0+
- If you use Nette Framework - v2.3+
1 - Download the Google Closure Compiler client using composer:
composer require machy8/google-closure-compiler
2 - Usage:
Typical:
$compiler = new GoogleClosureCompiler\Compiler;
$response = $compiler->setJsCode($code)->compile();
if ($response && $response->isWithoutErrors()) {
echo $response->getCompiledCode();
} else {
echo $code;
}Nette framework:
use GoogleClosureCompiler\Compiler;
/**
* @var Compiler
*/
private $compiler;
public function __construct(Compiler $compiler)
{
$this->compiler = $compiler;
}
public function renderDefault()
{
$code = file_get_contents('/path/to/script.js');
$response = $this->compiler->setJsCode($code)->compile();
if ($response && $response->isWithoutErrors()) {
$code = $response->getCompiledCode();
}
$this->template->jsCode = $code;
}And in the config neon
extensions:
- GoogleClosureCompiler\Bridges\Nette\GoogleClosureCompilerExtension
Direct and main information can be found on https://developers.google.com/closure/compiler/docs/api-ref.
Returns GoogleClosureCompiler\Response if connection was successful otherwise returns NULL. setDefaultStreamContextCreateTimeout
| Method | Parameters | Constants |
|---|---|---|
| compile | ||
| enableClosureCompiler | ||
| enableStatistics | ||
| excludeDefaultExterns | ||
| setCodeUrl | string | string [] $url | |
| setCompilationLevel | string $level | COMPILATION_LEVEL_* |
| setConnectionTimeout | int $time | |
| setExternsUrl | string | string[] $value | |
| setFormattingType | string $type | FORMATTING_* |
| setJsCode | string $code | |
| setJsExterns | string $jsCode | |
| setLanguage | string $language | LANGUAGE_* |
| setLanguageOut | string $language | LANGUAGE_OUT_* |
| setOutputFileName | string $name | |
| setWarningLevel | string $level | WARNING_LEVEL_* |
Is parsed json from response of previous request.
| Method | Returns |
|---|---|
| getCompiledCode | string - compiled code |
| getErrors | array - errors |
| getOutputFilePath | string - url path to file |
| getResponse | stdClass - whole response |
| getServerErrors | array - server errors |
| getStatistics | stdClass - statistics |
| getWarnings | array - warnings |
| hasErrors | bool - if code to compile contains errors |
| hasServerErrors | bool - if response contains server errors |
| hasWarnings | bool - if code to compile contains warnings |
| isWithoutErrors | bool - combination of hasServerErrors & hasErrors |