Google Closure Compiler
, (*1)
⚡ PHP client for the Google Closure Compiler API in one file., (*2)
Requirements
- PHP 7.0+
- If you use Nette Framework - v2.3+
Installation
1 - Download the Google Closure Compiler client using composer:, (*3)
composer require machy8/google-closure-compiler
2 - Usage:, (*4)
Typical:, (*5)
$compiler = new GoogleClosureCompiler\Compiler;
$response = $compiler->setJsCode($code)->compile();
if ($response && $response->isWithoutErrors()) {
echo $response->getCompiledCode();
} else {
echo $code;
}
Nette framework:, (*6)
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, (*7)
extensions:
- GoogleClosureCompiler\Bridges\Nette\GoogleClosureCompilerExtension
Usage
Direct and main information can be found on https://developers.google.com/closure/compiler/docs/api-ref., (*8)
Compiler
Returns GoogleClosureCompiler\Response if connection was successful otherwise returns NULL.
setDefaultStreamContextCreateTimeout, (*9)
| 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_* |
Response
Is parsed json from response of previous request., (*10)
| 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 |