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 |