Download the PHP package hx/fusion-php without Composer
On this page you can find all versions of the php package hx/fusion-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hx/fusion-php
More information about hx/fusion-php
Files in hx/fusion-php
Informations about the package fusion-php
Fusion for PHP
Fusion is a bare-bones asset pipelining library for PHP. It offers:
- Simple dependency in which assets can require other assets.
- Preprocessing of CoffeeScript, SASS/SCSS and LESS files.
- Compilation of large numbers of files into single files with minification via UglifyJS.
Dependencies
Specify dependencies by requiring other files in comments at the tops of your asset files:
You can also require globs of files (note the alternate syntax so that */ doesn't break the comment):
Generally, you can use either style of comments, as long as the format supports it. For example, vanilla CSS doesn't support single-line // comments.
Processing
This code assigns a new instance of Hx\Fusion\Asset\StyleSheet\Sass to $file, which is a subclass of Hx\Fusion\Asset. Subclasses are selected based on file extensions.
To specify a base directory, include a second argument. Dependency paths will be evaluated relative to the given base path. The file's directory is used as a base if this argument is omitted.
The Hx\Fusion\Asset class gives you several basic methods to retrieve information about your file:
You can get the raw, filtered (processed), and compressed (minified) document strings:
Collections
The above methods are also available on the Hx\Fusion\AssetCollection class, which represents ordered collections of assets.
Consider these three files a.coffee, b.coffee and c.coffee:
We could create a collection a couple of ways:
To get collections of dependencies:
As illustrated above, the dependenciesAndSelf() method returns a collection including the instance on which it was called. This is most useful when combining an asset with its dependencies. Collections support the same output methods as single assets (raw(), filtered(), and compressed()):
This will output the following combined, minified JavaScript:
Exceptions
Fusion exceptions live in the Hx\Fusion\Exceptions namespace, and are subclasses of Hx\Fusion\Exception.
Processing files
These exceptions may be thrown when processing a file with an external binary using filtered() or compressed() methods.
BadInterpreter
Thrown when an external binary is not found or not executable.
SyntaxError
Thrown when an external binary exits with a code other than 0, presumably due to a syntax error in your asset. The exception's message will include the data sent to STDERR by the interpreter.
Collating dependencies
These exceptions may be thrown when attempting to collate a file's dependencies using dependencies() or dependenciesAndSelf() methods.
CircularDependency
Thrown when a file's dependency depends on that file, e.g. if A requires B and B requires A.
MissingDependency
Thrown when a dependency specified by require doesn't exist.