iiifx-production/yii2-folder-dependency

为 Yii2 框架的文件夹依赖

v0.1.0 2015-07-06 05:46 UTC

This package is not auto-updated.

Last update: 2024-09-13 04:37:01 UTC


README

FolderDependency - 是一个额外的依赖项,为 Yii2 框架提供,允许在检测到文件夹或其中文件的变化时刷新缓存。

Latest Version on Packagist Build Status Software License Total Downloads

安装

使用 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。

测试

目前尚未实现。

许可证

Software License

Bitdeli Badge