Runs assets through Packager.
@link https://github.com/kamicane/packager @author Kris Wallsmith <kris.wallsmith@gmail.com>
Expanded class hierarchy of PackagerFilter
class PackagerFilter implements FilterInterface {
private $packages;
public function __construct(array $packages = array()) {
$this->packages = $packages;
}
public function addPackage($package) {
$this->packages[] = $package;
}
public function filterLoad(AssetInterface $asset) {
static $manifest = <<<EOF
name: Application%s
sources: [source.js]
EOF;
$hash = substr(sha1(time() . rand(11111, 99999)), 0, 7);
$package = sys_get_temp_dir() . '/assetic_packager_' . $hash;
mkdir($package);
file_put_contents($package . '/package.yml', sprintf($manifest, $hash));
file_put_contents($package . '/source.js', $asset
->getContent());
$packager = new \Packager(array_merge(array(
$package,
), $this->packages));
$content = $packager
->build(array(), array(), array(
'Application' . $hash,
));
unlink($package . '/package.yml');
unlink($package . '/source.js');
rmdir($package);
$asset
->setContent($content);
}
public function filterDump(AssetInterface $asset) {
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PackagerFilter:: |
private | property | ||
PackagerFilter:: |
public | function | ||
PackagerFilter:: |
public | function |
Filters an asset just before it's dumped. Overrides FilterInterface:: |
|
PackagerFilter:: |
public | function |
Filters an asset after it has been loaded. Overrides FilterInterface:: |
|
PackagerFilter:: |
public | function |