Package Data | |
---|---|
Maintainer Username: | rkeppner |
Maintainer Contact: | russell.keppner@gmail.com (Russell Keppner) |
Package Create Date: | 2016-04-05 |
Package Last Update: | 2016-06-14 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-01-18 03:11:32 |
Package Statistics | |
---|---|
Total Downloads: | 2,438 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 5 |
Total Watchers: | 1 |
Total Forks: | 3 |
Total Open Issues: | 2 |
Provides caching of entire HTML responses in Laravel 5.
Via Composer
$ composer require infusionweb/laravel-middleware-response-cache
// within config/app.php
'providers' => [
//
InfusionWeb\Laravel\Http\Middleware\ResponseCacheServiceProvider::class,
];
// within app/Http/Kernel.php
protected $routeMiddleware = [
//
'cachebefore' => \InfusionWeb\Laravel\Http\Middleware\ResponseCacheBeforeMiddleware::class,
'cacheafter' => \InfusionWeb\Laravel\Http\Middleware\ResponseCacheAfterMiddleware::class,
//
];
The following will cache the gallery
route.
// within app/Http/routes.php
Route::get('gallery', ['middleware' => ['cachebefore', 'cacheafter'], function () {
return 'pictures!';
}]);
The following will apply all default profiles to all methods within the GalleryController
.
// within app/Http/Controllers/GalleryController.php
public function __construct()
{
$this->middleware(['cachebefore', 'cacheafter']);
}
Middleware can be registered the same as 5.1, or by the following method.
// within app/Http/Kernel.php
protected $middlewareGroups = [
'web' => [
//
'cachebefore' => \InfusionWeb\Laravel\Http\Middleware\ResponseCacheBeforeMiddleware::class,
'cacheafter' => \InfusionWeb\Laravel\Http\Middleware\ResponseCacheAfterMiddleware::class,
//
],
//
];
All routes using the web
middleware group will be cached.
// within app/Http/routes.php
Route::group(['middleware' => ['web']], function () {
Route::get('gallery', function () {
return 'pictures!';
});
});
The middleware will only cache HTML responses when explicitly enabled. This is to allow development systems to operate normally by default, while easily allowing production systems to cache HTML responses.
$ php artisan vendor:publish --provider="InfusionWeb\Laravel\Http\Middleware\ResponseCacheServiceProvider"
You may now enable response caching and change the default cache time by editing the config/response-cache.php
file.
return [
'enable' => env('RESPONSE_CACHE_ENABLE', false),
// Length of time to cache the HTML response, in minutes.
'length' => env('RESPONSE_CACHE_LENGTH', 60),
];
The MIT License (MIT). Please see License File for more information.