Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orumad/lumen-config-cache
https://github.com/orumad/lumen-config-cache
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/orumad/lumen-config-cache
- Owner: orumad
- License: mit
- Created: 2017-07-25T09:16:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-02-24T10:57:06.000Z (over 2 years ago)
- Last Synced: 2024-09-15T22:42:33.142Z (2 months ago)
- Language: PHP
- Size: 10.7 KB
- Stars: 10
- Watchers: 1
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# lumen-config-cache
[![Latest Version on Packagist](https://img.shields.io/packagist/v/orumad/lumen-config-cache.svg?style=flat-square)](https://packagist.org/packages/orumad/lumen-config-cache) [![Total Downloads](https://img.shields.io/packagist/dt/orumad/lumen-config-cache.svg?style=flat-square)](https://packagist.org/packages/orumad/lumen-config-cache) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](https://packagist.org/packages/orumad/lumen-config-cache)
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 5.4 or higher with PHP 7.0 or higher.
You can install the package via composer:
```bash
composer require orumad/lumen-config-cache
```Now register the service provider in `bootstrap/app.php` file:
```php
$app->register(Orumad\ConfigCache\ServiceProviders\ConfigCacheServiceProvider::class);
```If you want to publish automatically the config file, you must install a package like [lumen-vendor-publish](https://github.com/laravelista/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:
```bash
php artisan vendor:publish --tag="lumen-config-cache"
```If you dedice to not install any aditional package, then you can copy the file `vendor/orumad/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:
```php
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:
``` php
// $app->withFacades();
```## Usage
You can access your config keys with `ConfigCache::get` facade method:
``` php
use Orumad\ConfigCache\Facades\ConfigCache;
...
$api_url = ConfigCache::get('app.API_URL');
```
Also you can force the cached config to be refreshed with `ConfigCache::refresh` facade method:
``` php
use Orumad\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:**
``` bash
php artisan lumen-config:cache
```## Change log
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Credits
- [Daniel Muñoz](https://twitter.com/daniel_munoz_)
- [All contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.