ugiw / lumen-config-cache
Adds the Laravel command `php artisan config:cache` to Lumen
Installs: 5 520
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.0
This package is not auto-updated.
Last update: 2024-11-21 08:17:00 UTC
README
Adds the Laravel artisan command config:cache
to Lumen.
Once installed you can type php artisan lumen-config:cache
in your console to gets all your Lumen configuration files loaded in the cache, which will increase your Lumen app response times.
Installation
This package can be used in Laravel lumen 7 or higher with PHP 7.0 or higher.
You can install the package via composer:
composer require ugiw/lumen-config-cache
Now register the service provider in bootstrap/app.php
file:
$app->register(Ugiw\ConfigCache\ServiceProviders\ConfigCacheServiceProvider::class);
If you want to publish automatically the config file, you must install a package like lumen-vendor-publish, which contains a single command that enables you to publish a package config file to the config folder of your Lumen application.
So you can publish the config file like in Laravel:
php artisan vendor:publish --tag="lumen-config-cache"
If you dedice to not install any aditional package, then you can copy the file vendor/gipro/lumen-config-cache/src/config/config-cache.php
to your app config
folder.
This is the contents of the published config/config-cache.php
config file:
return [ /** * The name of the key where the config is stored in cache */ 'cache_key' => 'config_cache', /** * Expiration time for the config in cache */ 'cache_expiration_time' => 60*24, // One day /** * The config files (app, database, queue, etc.) to be cached * Add to this array whatever config files you want to load in cache */ 'config_files' => [ 'app', ], ];
You should enable the use of facades in Lumen uncommenting the following line in your bootstrap/app.php
file:
// $app->withFacades();
Usage
You can access your config keys with ConfigCache::get
facade method:
use Ugiw\ConfigCache\Facades\ConfigCache; ... $api_url = ConfigCache::get('app.URL');
Also you can force the cached config to be refreshed with ConfigCache::refresh
facade method:
use Ugiw\ConfigCache\Facades\ConfigCache; ... ConfigCache::refresh();
You can use the artisan
command lumen-config:cache
to force the cached configuration to be refreshed too.
TIP: Add this command to your deployment script to be sure you have the last config cached after deploy your new app release:
php artisan lumen-config:cache