sergeymakinen / yii2-php-file-cache
Yii 2 PHP file cache
Installs: 2 103
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- sergeymakinen/yii2-tests: ^2.2.1
This package is auto-updated.
Last update: 2022-12-16 00:58:01 UTC
README
Yii 2 cache component that uses native PHP files to store cache data so:
- it's possible to improve a PHP performance by storing a precompiled data bytecode in a shared memory (objects will be serialized though)
- allows to include an arbitrary PHP code to bootstrap something
- it's fully compatible with the standard Yii 2 cache interface
Installation
The preferred way to install this extension is through composer.
Either run
composer require "sergeymakinen/yii2-php-file-cache:^2.0"
or add
"sergeymakinen/yii2-php-file-cache": "^2.0"
to the require section of your composer.json
file.
Usage
Set the following Yii 2 configuration parameters:
[ 'components' => [ 'phpCache' => [ 'class' => 'sergeymakinen\yii\phpfilecache\Cache', ], ], ]
And you can use it like any Yii 2 cache class:
Yii::$app->phpCache->set('foo', 'bar')
Caching values with a PHP code
If you need to execute any PHP bootstrap code before you get a value from a cache, pass a sergeymakinen\yii\phpfilecache\ValueWithBootstrap
instance with the value and a PHP code (which can be multiline of course) as a string to set()
:
use sergeymakinen\yii\phpfilecache\ValueWithBootstrap; Yii::$app->phpCache->set( 'foo', new ValueWithBootstrap( 'bar', 'Yii::$app->params[\'fromCache\'] = true;' ) );
Since version 1.1 you can also pass a Closure
instead of a PHP code:
use sergeymakinen\yii\phpfilecache\ValueWithBootstrap; use yii\helpers\StringHelper; Yii::$app->phpCache->set( 'foo', new ValueWithBootstrap('bar', function () { \Yii::$app->params['fromCache'] = true; \Yii::$app->params['name'] = StringHelper::basename('/etc/config'); }) )