wshafer / assetmanager-expressive
An assetmanager module for Zend Expressive.
Requires
- php: ^5.6 || ^7.0
- wshafer/assetmanager-core: ^1.0.0
- zendframework/zend-component-installer: ^1.0 || ^0.7.0
- zendframework/zend-expressive: ^2.0.2
Requires (Dev)
- phpmd/phpmd: @stable
- phpunit/phpunit: ^6.0.8
- squizlabs/php_codesniffer: ~3.0
This package is auto-updated.
Last update: 2020-10-16 02:05:08 UTC
README
AssetManager For Zend Expressive
Fork of the original ZF2 Assetmanager By Wesley Overdijk and Marco Pivetta for use with Zend Expressive
Introduction
This module 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
-
Require assetmanager:
composer require wshafer/assetmanager-expressive
-
Register the middleware. The trick here is to make sure this is the last middleware to run before returning any kind of "not found" responses. In a default pipeline, this would be placed just above the "NotFoundHandler" in
pipeline.php
$app->pipe(\AssetManager\Expressive\MiddleWare\AssetManagerMiddleware::class);
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', ), ), ), '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.
- The FAQ wiki page, where you'll perhaps find your answer.
- Issue tracker. (Please try to not submit unrelated issues).