AssetManager written for zf2. Managing assets for zend framework 2
PHP JavaScript
Latest commit a689db2 Jul 18, 2016 @RWOverdijk committed on GitHub Merge pull request #190 from pensiero/enhancement/asset-view-helper-l…
…ast-modified-date

Use of current timestamp as view helper's query param as default

README.md

AssetManager

By Wesley Overdijk and Marco Pivetta

Build Status Latest Stable Version

Introduction

This module is intended for usage with a default directory structure of a ZendSkeletonApplication. It provides functionality to load assets and static files from your module directories through simple configuration. This allows you to avoid having to copy your files over to the public/ directory, and makes usage of assets very similar to what already is possible with view scripts, which can be overridden by other modules. In a nutshell, this module allows you to package assets with your module working out of the box.

Installation

  1. Require assetmanager:
./composer.phar require rwoverdijk/assetmanager
#when asked for a version, type "1.*".

Usage

Take a look at the wiki for a quick start and more information. A lot, if not all of the topics, have been covered in-dept there.

Sample module config:

<?php
return array(
    'asset_manager' => array(
        'resolver_configs' => array(
            'collections' => array(
                'js/d.js' => array(
                    'js/a.js',
                    'js/b.js',
                    'js/c.js',
                ),
            ),
            'paths' => array(
                __DIR__ . '/some/particular/directory',
            ),
            'map' => array(
                'specific-path.css' => __DIR__ . '/some/particular/file.css',
            ),
        ),
        'filters' => array(
            'js/d.js' => array(
                array(
                    // Note: You will need to require the classes used for the filters yourself.
                    'filter' => 'JSMin',
                ),
            ),
        ),
        'view_helper' => array(
            'cache'            => 'Application\Cache\Redis', // You will need to require the factory used for the cache yourself.
            'append_timestamp' => true,                      // optional, if false never append a query param
            'query_string'     => '_',                       // optional
        ),
        'caching' => array(
            'js/d.js' => array(
                'cache'     => 'Apc',
            ),
        ),
    ),
);

Please be careful, since this module will serve every file as-is, including PHP code.

Questions / support

If you're having trouble with the asset manager there are a couple of resources that might be of help.

Todo

The task list has been slimmed down a lot lately. However, there are still a couple of things that should be done.

  • Renewing the cache