Класс FileEngine
Двигатель хранения файлов для кэша. Хранилище файлов — самое медленное хранилище кэша для чтения и записи. Однако оно хорошо подходит для серверов, у которых нет другого хранилища кэша доступно, или для содержимого, которое не чувствительно к производительности.
Вы можете настроить кэш FileEngine, используя Cache::config()
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
-
Cake\Cache\Engine\FileEngine
Краткое описание свойств
-
$_FileprotectedЭкземпляр класса SplFileObjectSplFileObject|null -
$_defaultConfigprotectedКонфигурация по умолчанию, используемая, если не переопределена конфигурацией во время выполненияarray -
$_initprotectedИстина, если FileEngine::__active(); выполняется успешноboolean
Наследованные свойства
Краткое описание методов
- _active() protectedОпределяет, доступен ли каталог кэша для записи
- _clearDirectory() protectedИспользуется для очистки каталога от соответствующих файлов.
- _setKey() protected
Устанавливает текущий ключ кэша, управляемый этим классом, и создаёт SplFileObject для файла кэша, на который ссылается ключ, с возможностью записи.
- clear() publicУдаляет все значения из кэша
- clearGroup() publicРекурсивно удаляет все файлы в каталоге с именем $group
- decrement() publicНе реализовано
- delete() publicУдаляет ключ из кэша
- gc() publicСбор мусора. Постоянно удаляет все истекшие и удалённые данные
- increment() publicНе реализовано
- init() publicИнициализация движка кэша файлов
- key() publicГенерирует безопасный ключ для использования с хранилищами движка кэша.
- read() publicСчитывает ключ из кэша
- write() publicЗаписывает данные для ключа в кэш
Подробное описание методов
_active()source protected
_active( )
Определяет, доступен ли каталог кэша для записи
Возвращает
boolean_clearDirectory()source protected
_clearDirectory( string $path , integer $now , integer $threshold )
Используется для очистки каталога от соответствующих файлов.
Параметры
- строка
$path - Путь для поиска.
- целое число
$now - Текущая метка времени
- целое число
$threshold - Любой файл, не изменённый после этого значения, будет удалён.
_setKey()source protected
_setKey( string $key , boolean $createKey = false )
Устанавливает текущий ключ кэша, управляемый этим классом, и создаёт SplFileObject для файла кэша, на который ссылается ключ, с возможностью записи.
Параметры
- строка
$key - Ключ
- логическое значение
$createKeyнеобязательно false - Требуется ли создание ключа, если он не существует
Возвращает
booleantrue, если ключ кэша был установлен, иначе false
clear()source public
clear( boolean $check )
Удаляет все значения из кэша
Параметры
- логическое значение
$check - Необязательно - удалять только истекшие элементы кэша
Возвращает
booleanTrue, если кэш был успешно очищен, иначе false
clearGroup()source public
clearGroup( string $group )
Рекурсивно удаляет все файлы в каталоге с именем $group
Параметры
- строка
$group - Группа для очистки.
Возвращает
booleanуспех
Переопределяет
Cake\Cache\CacheEngine::clearGroup() decrement()source public
decrement( string $key , integer $offset = 1 )
Не реализовано
Параметры
- строка
$key - Ключ для декремента
- целое число
$offsetнеобязательно 1 - Значение смещения
Выбрасывает
LogicExceptiondelete()source public
delete( string $key )
Удаляет ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
booleanTrue, если значение было успешно удалено, false, если оно не существовало или не могло быть удалено
gc()source public
gc( integer|null $expires = null )
Сбор мусора. Постоянно удаляет все истекшие и удалённые данные
Параметры
- целое число|null
$expiresнеобязательно null - [необязательно] Метка времени истечения, делающая недействительными все данные до неё.
Возвращает
booleanTrue, если сбор мусора выполнен успешно, false в случае ошибки
Переопределяет
Cake\Cache\CacheEngine::gc() increment()source public
increment( string $key , integer $offset = 1 )
Не реализовано
Параметры
- строка
$key - Ключ для инкремента
- целое число
$offsetнеобязательно 1 - Значение смещения
Выбрасывает
LogicExceptioninit()source public
init( array $config = [] )
Инициализация движка кэша файлов
Вызывается автоматически передним фронтендом кэша.
Параметры
- массив
$configнеобязательно [] - Массив настроек для движка
Возвращает
booleanTrue, если движок был успешно инициализирован, иначе false
Переопределяет
Cake\Cache\CacheEngine::init() key()source public
key( string $key )
Генерирует безопасный ключ для использования с хранилищами движка кэша.
Параметры
- строка
$key - переданный ключ
Возвращает
mixedстрока $key или false
Переопределяет
Cake\Cache\CacheEngine::key() read()source public
read( string $key )
Прочитать ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
смешанныйКэшированные данные или false, если данных нет, срок действия истек или произошла ошибка при их получении
write()source public
write( string $key , mixed $data )
Записать данные для ключа в кэш
Параметры
- строка
$key - Идентификатор данных
- смешанный
$data - Данные для кэширования
Возвращает
булевоTrue, если данные были успешно кэшированы, false в случае неудачи
Методы, унаследованные от Cake\Cache\CacheEngine
_key()source protected
_key( string $key )
Генерирует безопасный ключ, учитывая конфигурированный префикс ключа
Параметры
- строка
$key - переданный ключ
Возвращает
смешанныйстрока $key или false
Исключения
InvalidArgumentExceptionЕсли значение ключа пустое
add()source public
add( string $key , mixed $value )
Добавить ключ в кэш, если он еще не существует.
По умолчанию используется неатомарная реализация. Подклассы должны отдавать предпочтение атомарным реализациям.
Параметры
- строка
$key - Идентификатор данных.
- смешанный
$value - Данные для кэширования.
Возвращает
булевоTrue, если данные были успешно кэшированы, false в случае неудачи.
deleteMany()source public
deleteMany( array $keys )
Удаляет ключи из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивДля каждого предоставленного ключа кэша (переданного в качестве ключа массива) true, если значение было успешно удалено, false, если оно не существовало или не удалось удалить
groups()source public
groups( )
Выполняет необходимую инициализацию для каждой группы и возвращает group value для каждой из них, это маркер, представляющий каждую группу в ключе кэша
Возвращает
массивreadMany()source public
readMany( array $keys )
Прочитать несколько ключей из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивДля каждого ключа кэша (переданного в качестве ключа массива) данные кэша или false, если данных нет, срок действия истек или произошла ошибка при их получении
warning()source protected
warning( string $message )
Движки кэша могут вызывать предупреждения, если при работе возникают ошибки, если параметр warnOnWriteFailures установлен в true.
Параметры
- строка
$message - Сообщение об ошибке.
writeMany()source public
writeMany( array $data )
Записать данные для многих ключей в кэш
Параметры
- массив
$data - Массив данных для хранения в кэше
Возвращает
массивмассив булевых значений для каждого предоставленного ключа, true, если данные были успешно кэшированы, false в случае неудачи
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionесли происходит попытка перезаписи существующей конфигурации
_configRead()source protected
_configRead( string|null $key )
Считывает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для считывания.
Возвращает
смешанный_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- булево|строка
$mergeнеобязательно false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionесли происходит попытка перезаписи существующей конфигурации
config()source public deprecated
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/Установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устарело
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- булево
$mergeнеобязательно true - Производить ли рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
смешанныйЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанный
$defaultнеобязательно null - Значение по умолчанию, если ключ не найден.
Возвращает
смешанныйЗначение конфигурации для чтения.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Устанавливает определенное значение:
$this->setConfig('key', $value); Устанавливает вложенное значение:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Признак рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.
Возвращаемое значение
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
Подробное описание свойств
$_defaultConfigsource
protected array
Конфигурация по умолчанию, используемая, если не переопределена в конфигурации выполнения
-
durationУказывает, как долго хранятся элементы в этой конфигурации кэша. -
groupsСписок групп или «метков», связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления целой группы из кэша. -
isWindowsАвтоматически заполняется значением, указывающим, является ли хост Windows или нет. -
lockИспользуется FileCache. Требуется ли блокировка файлов перед записью в них? -
maskМаска, используемая для создаваемых файлов. -
pathПуть к расположению файлов кэша. По умолчанию — временная папка системы. -
prefixДобавляется ко всем записям. Полезно, когда нужно использовать пространство ключей совместно с другой конфигурацией кэша или другим приложением. -
probabilityВероятность запуска очистки кэша. Установка в 0 отключит автоматический вызов cache::gc. -
serializeДолжны ли объекты кэша сериализоваться перед сохранением.
[
'duration' => 3600,
'groups' => [],
'isWindows' => false,
'lock' => true,
'mask' => 0664,
'path' => null,
'prefix' => 'cake_',
'probability' => 100,
'serialize' => true
]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.7/class-Cake.Cache.Engine.FileEngine.html