Skip to content

RWOverdijk/AssetManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

32f3dd1 · Apr 23, 2022
Apr 5, 2019
Dec 16, 2020
Dec 16, 2020
Dec 16, 2020
Mar 25, 2014
Dec 16, 2020
Oct 22, 2012
Aug 13, 2012
Apr 23, 2022
Dec 16, 2020
Dec 16, 2020

Repository files navigation

AssetManager

By Wesley Overdijk and Marco Pivetta

Build Status Latest Stable Version

⚠️ No longer maintained

Every now and then a PR might be merged, but it's probably for the best to use a fork.

PRs without enough reputable approvals will not be merged.

Introduction

This module is intended for usage with a default directory structure of a LaminasSkeletonApplication. 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 "2.*" when using Laminas. When using Zend Framework 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