machy8/google-closure-compiler 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

machy8/google-closure-compiler

Composer 安装命令:

composer require machy8/google-closure-compiler

包简介

PHP client for the Google Closure Compiler API in one file.

README 文档

README

Build Status Coverage Status License

⚡ PHP client for the Google Closure Compiler API in one file.

Requirements

  • PHP 7.0+
  • If you use Nette Framework - v2.3+

Installation

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

Usage

Direct and main information can be found on https://developers.google.com/closure/compiler/docs/api-ref.

Compiler

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_*

Response

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

machy8/google-closure-compiler 适用场景与选型建议

machy8/google-closure-compiler 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.31k 次下载、GitHub Stars 达 5, 最近一次更新时间为 2017 年 09 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「minification」 「javascript」 「api」 「google」 「closure」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 machy8/google-closure-compiler 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 machy8/google-closure-compiler 我们能提供哪些服务?
定制开发 / 二次开发

基于 machy8/google-closure-compiler 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.31k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 4
  • 依赖项目数: 2
  • 推荐数: 2

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: New
  • 更新时间: 2017-09-23