2017 © Pedro PelĂĄez
 

library assets-middleware

A PSR-15 middleware to server static assets (CSS, JS, images, etc.)

image

codeinc/assets-middleware

A PSR-15 middleware to server static assets (CSS, JS, images, etc.)

  • Friday, July 27, 2018
  • by joanfabregat
  • Repository
  • 1 Watchers
  • 0 Stars
  • 22 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 11 Versions
  • 175 % Grown

The README.md

Assets middleware

This PHP 7.1 library is a PSR-15 middleware dedicated to manage static assets like CSS, JS, or image files., (*1)

Usage

<?php
use CodeInc\AssetsMiddleware\AssetsMiddleware;
use CodeInc\AssetsMiddleware\Resolvers\AssetsDirectoryResolver;

$assetsMiddleware = new AssetsMiddleware(
    new AssetsDirectoryResolver(
        '/path/to/my/assets/assets/', // <-- directory path
        '/assets/' // <-- assets URI prefix
    )
);
// optionally you can limit the acceptable media types
$assetsMiddleware->setAllowMediaTypes([
    'image/*', // supports shell patterns through fnmatch()
    'text/css',
    'application/javascript'
]);

// processed a PSR-7 server request as a PSR-15 middleware
$assetsMiddleware->process($aPsr7ServerRequest, $aPsr15RequestHandler); // <-- returns a PSR-7 response

Using multiple resolvers

<?php
use CodeInc\AssetsMiddleware\AssetsMiddleware;
use CodeInc\AssetsMiddleware\Resolvers\AssetsDirectoryResolver;
use CodeInc\AssetsMiddleware\Resolvers\StaticAssetsResolver;
use CodeInc\AssetsMiddleware\Resolvers\AssetResolverAggregator;

$assetsMiddleware = new AssetsMiddleware(
    new AssetResolverAggregator([
        new StaticAssetsResolver(['/favicon.ico' => '/local/favicon/file.ico']),
        new AssetsDirectoryResolver('/path/to/my/css/', '/css/'),
        new AssetsDirectoryResolver('/path/to/my/images/', '/images/')
    ])
);

// processed a PSR-7 server request as a PSR-15 middleware
$assetsMiddleware->process($aPsr7ServerRequest, $aPsr15RequestHandler); // <-- returns a PSR-7 response

Installation

This library is available through Packagist and can be installed using Composer:, (*2)

composer require codeinc/assets-middleware

License

The library is published under the MIT license (see LICENSE file)., (*3)

The Versions