codeinc / assets-middleware
此包已被弃用且不再维护。未建议替代包。
一个用于服务器静态资源(CSS、JS、图片等)的PSR-15中间件
2.1.1
2018-10-11 17:16 UTC
Requires
- php: >=7.1
- ext-gettext: *
- codeinc/collection-interface: ^1.1
- codeinc/media-types: ^1.0
- codeinc/psr7-responses: ^2
- enshrined/svg-sanitize: ^0.8.2
- matthiasmullie/minify: ^1.3
- micheh/psr7-cache: ^0.5.0
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
Suggests
- codeinc/middleware-dispatcher: A PSR-15 middleware dispatcher
- codeinc/psr7-response-sender: A PSR-7 response sender
README
这是一个PHP 7.1库,是一个PSR-15中间件,专门用于管理CSS、JS或图片文件等静态资源。
使用方法
<?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
使用多个解析器
<?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
安装
此库通过Packagist提供,可以使用Composer进行安装。
composer require codeinc/assets-middleware
许可证
此库以MIT许可证发布(请参阅LICENSE
文件)。