iiifx-production / yii2-folder-dependency
为 Yii2 框架的文件夹依赖
v0.1.0
2015-07-06 05:46 UTC
Requires
- yiisoft/yii2: *@stable
Requires (Dev)
- phpunit/phpunit: *@stable
This package is not auto-updated.
Last update: 2024-09-13 04:37:01 UTC
README
FolderDependency - 是一个额外的依赖项,为 Yii2 框架提供,允许在检测到文件夹或其中文件的变化时刷新缓存。
安装
使用 Composer
$ composer require iiifx-production/yii2-folder-dependency
或者添加到 composer.json 文件的 require 部分中
"iiifx-production/yii2-folder-dependency": "0.1.*@stable"
使用方法
use iiifx\cache\dependency\FolderDependency; $cache = Yii::$app->cache; # Проверяем наличие кэша if ( ( $cachedData = $cache->get( 'some-cache-key' ) ) === FALSE ) { # Кэша нет, подготавливаем данные $cachedData = [ /* .. */ ]; # Создаем зависимость для кэша $folderDependency = new FolderDependency( [ 'folder' => '/path/to/folder' ] ); # Кэшируем данные $cache->set( 'some-cache-key', $cachedData, 0, $folderDependency ); } # Пользуемся данными var_export( $cachedData );
在这个例子中,缓存将在第一次请求时创建。在随后的请求中,将使用缓存的数据,直到文件夹 folder 或其中的文件发生更改。folder 中的任何文件更改都将被发现,缓存将失去其有效性。folder 中包含的文件数量不会影响性能。依赖项仅检查文件夹,不涉及其中包含的文件。
要创建对多个文件夹的依赖,可以传递一个路径列表
$foldersDependency = new FolderDependency( [ 'folder' => [ '/path/to/folder1', '/path/to/folder2', '/path/to/folder3', ] ] );
在这种情况下,任何文件夹或文件夹中的任何文件更改都将使缓存失效。
!!! 重要 !!!
依赖项不会检测到在 folder 中指定的文件夹内部的嵌套文件夹的变化。
reusable 标志默认设置为 TRUE。
测试
目前尚未实现。