Code Monkey home page Code Monkey logo

php-closure's Introduction

php-closure

This is an extension of the original library found here: http://code.google.com/p/php-closure/

New features:

  • Compile locally using Google Closure Compiler
  • Support for Google Closure Templates and Soy-To-Js Compiler
  • Add directories with source files.

For the latest Google Closure Compiler and Template files visit:

How to use

PHP wrapper for the Google Closure JS Compiler web service.

Handles caching and recompilation of sources. A recompilation will occur whenever a source file, or the script calling the compiler, changes.

The class will handle the Last-Modified and 304 redirects for you, but if you should set Cache-Control headers appropriate for your needs.

Make sure you define LIB_DIR, then place the jar files and soyutils.js under LIB_DIR/third-party/.

Example usage:

define('LIB_DIR', getcwd() . 'lib/');

include(LIB_DIR . 'third-party/php-closure.php');

$c = new PhpClosure();
$c->add('my-app.js')
  ->addDir('/js/') // new
  ->add('popup.js')
  ->add('popup.soy') // new
  ->advancedMode()
  ->cacheDir('/tmp/js-cache/')
  ->localCompile() // new
  ->write();

See http://code.google.com/closure/compiler/docs/api-ref.html for more details on the compiler options.

License

Apache v2. See the LICENSE file.

php-closure's People

Contributors

kennberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

php-closure's Issues

_makeRequest() not returning $data

Was trying to figure out why this wasn't returning $data so I referred to the original PhpClosure class by Daniel Pupius which is being maintained.

I noticed (aside from the lack of localCompile() in the original) that the API endpoint has changed:

fsockopen("closure-compiler.appspot.com", 80) should now be
fsockopen("ssl://closure-compiler.appspot.com", 443)

Just in-case anyone else is having this issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.