CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • ApcuEngine
  • ArrayEngine
  • FileEngine
  • MemcachedEngine
  • NullEngine
  • RedisEngine
  • WincacheEngine
  • XcacheEngine

Class FileEngine

File Storage engine for cache. Filestorage is the slowest cache storage to read and write. However, it is good for servers that don't have other storage engine available, or have content which is not performance sensitive.

You can configure a FileEngine cache, using Cache::config()

Cake\Cache\CacheEngine uses Cake\Core\InstanceConfigTrait
Extended by Cake\Cache\Engine\FileEngine
Namespace: Cake\Cache\Engine
Location: Cache/Engine/FileEngine.php

Properties summary

  • $_File protected
    SplFileObject|null
    Instance of SplFileObject class
  • $_defaultConfig protected
    array
    The default config used unless overridden by runtime configuration
  • $_init protected
    boolean
    True unless FileEngine::__active(); fails

Inherited Properties

  • _groupPrefix _config, _configInitialized

Method Summary

  • _active() protected
    Determine if cache directory is writable
  • _clearDirectory() protected
    Used to clear a directory of matching files.
  • _setKey() protected

    Sets the current cache key this class is managing, and creates a writable SplFileObject for the cache file the key is referring to.

  • clear() public
    Delete all values from the cache
  • clearGroup() public
    Recursively deletes all files under any directory named as $group
  • decrement() public
    Not implemented
  • delete() public
    Delete a key from the cache
  • gc() public
    Garbage collection. Permanently remove all expired and deleted data
  • increment() public
    Not implemented
  • init() public
    Initialize File Cache Engine
  • key() public
    Generates a safe key for use with cache engine storage engines.
  • read() public
    Read a key from the cache
  • write() public
    Write data for key into cache

Method Detail

_active() protected ¶

_active( )

Determine if cache directory is writable

Returns
boolean

_clearDirectory() protected ¶

_clearDirectory( string $path , integer $now , integer $threshold )

Used to clear a directory of matching files.

Parameters
string $path
The path to search.
integer $now
The current timestamp
integer $threshold
Any file not modified after this value will be deleted.

_setKey() protected ¶

_setKey( string $key , boolean $createKey = false )

Sets the current cache key this class is managing, and creates a writable SplFileObject for the cache file the key is referring to.

Parameters
string $key
The key
boolean $createKey optional false
Whether the key should be created if it doesn't exists, or not
Returns
boolean
true if the cache key could be set, false otherwise

clear() public ¶

clear( boolean $check )

Delete all values from the cache

Parameters
boolean $check
Optional - only delete expired cache items
Returns
boolean
True if the cache was successfully cleared, false otherwise

clearGroup() public ¶

clearGroup( string $group )

Recursively deletes all files under any directory named as $group

Parameters
string $group
The group to clear.
Returns
boolean
success
Overrides
Cake\Cache\CacheEngine::clearGroup()

decrement() public ¶

decrement( string $key , integer $offset = 1 )

Not implemented

Parameters
string $key
The key to decrement
integer $offset optional 1
The number to offset
Throws
LogicException

delete() public ¶

delete( string $key )

Delete a key from the cache

Parameters
string $key
Identifier for the data
Returns
boolean

True if the value was successfully deleted, false if it didn't exist or couldn't be removed


gc() public ¶

gc( integer|null $expires = null )

Garbage collection. Permanently remove all expired and deleted data

Parameters
integer|null $expires optional null
[optional] An expires timestamp, invalidating all data before.
Returns
boolean
True if garbage collection was successful, false on failure
Overrides
Cake\Cache\CacheEngine::gc()

increment() public ¶

increment( string $key , integer $offset = 1 )

Not implemented

Parameters
string $key
The key to increment
integer $offset optional 1
The number to offset
Throws
LogicException

init() public ¶

init( array $config = [] )

Initialize File Cache Engine

Called automatically by the cache frontend.

Parameters
array $config optional []
array of setting for the engine
Returns
boolean
True if the engine has been successfully initialized, false if not
Overrides
Cake\Cache\CacheEngine::init()

key() public ¶

key( string $key )

Generates a safe key for use with cache engine storage engines.

Parameters
string $key
the key passed over
Returns
mixed
string $key or false
Overrides
Cake\Cache\CacheEngine::key()

read() public ¶

read( string $key )

Read a key from the cache

Parameters
string $key
Identifier for the data
Returns
mixed

The cached data, or false if the data doesn't exist, has expired, or if there was an error fetching it


write() public ¶

write( string $key , mixed $data )

Write data for key into cache

Parameters
string $key
Identifier for the data
mixed $data
Data to be cached
Returns
boolean
True if the data was successfully cached, false on failure

Methods inherited from Cake\Cache\CacheEngine

_key() protected ¶

_key( string $key )

Generates a safe key, taking account of the configured key prefix

Parameters
string $key
the key passed over
Returns
string
Key
Throws
InvalidArgumentException
If key's value is empty

add() public ¶

add( string $key , mixed $value )

Add a key to the cache if it does not already exist.

Defaults to a non-atomic implementation. Subclasses should prefer atomic implementations.

Parameters
string $key
Identifier for the data.
mixed $value
Data to be cached.
Returns
boolean
True if the data was successfully cached, false on failure.

deleteMany() public ¶

deleteMany( array $keys )

Deletes keys from the cache

Parameters
array $keys
An array of identifiers for the data
Returns
array

For each provided cache key (given back as the array key) true if the value was successfully deleted, false if it didn't exist or couldn't be removed


groups() public ¶

groups( )

Does whatever initialization for each group is required and returns the group value for each of them, this is the token representing each group in the cache key

Returns
array

readMany() public ¶

readMany( array $keys )

Read multiple keys from the cache

Parameters
array $keys
An array of identifiers for the data
Returns
array

For each cache key (given as the array key) the cache data associated or false if the data doesn't exist, has expired, or if there was an error fetching it


warning() protected ¶

warning( string $message )

Cache Engines may trigger warnings if they encounter failures during operation, if option warnOnWriteFailures is set to true.

Parameters
string $message
The warning message.

writeMany() public ¶

writeMany( array $data )

Write data for many keys into cache

Parameters
array $data
An array of data to be stored in the cache
Returns
array
of bools for each key provided, true if the data was successfully cached, false on failure

Methods used from Cake\Core\InstanceConfigTrait

_configDelete() protected ¶

_configDelete( string $key )

Deletes a single config key.

Parameters
string $key
Key to delete.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_configRead() protected ¶

_configRead( string|null $key )

Reads a config key.

Parameters
string|null $key
Key to read.
Returns
mixed

_configWrite() protected ¶

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Writes a config key.

Parameters
string|array $key
Key to write to.
mixed $value
Value to write.
boolean|string $merge optional false

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

config() public deprecated ¶

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Gets/Sets the config.

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Deprecated
3.4.0 use setConfig()/getConfig() instead.
Parameters
string|array|null $key optional null
The key to get/set, or a complete array of configs.
mixed|null $value optional null
The value to set.
boolean $merge optional true
Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixed
Config value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

configShallow() public ¶

configShallow( string|array $key , mixed|null $value = null )

Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key
The key to set, or a complete array of configs.
mixed|null $value optional null
The value to set.
Returns

$this

getConfig() public ¶

getConfig( string|null $key = null , mixed $default = null )

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');
Parameters
string|null $key optional null
The key to get or null for the whole config.
mixed $default optional null
The return value when the key does not exist.
Returns
mixed
Configuration data at the named key or null if the key does not exist.

setConfig() public ¶

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key
The key to set, or a complete array of configs.
mixed|null $value optional null
The value to set.
boolean $merge optional true
Whether to recursively merge or overwrite existing config, defaults to true.
Returns

$this
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

Properties detail

$_File ¶

protected SplFileObject|null

Instance of SplFileObject class

$_defaultConfig ¶

protected array

The default config used unless overridden by runtime configuration

  • duration Specify how long items in this cache configuration last.
  • groups List of groups or 'tags' associated to every key stored in this config. handy for deleting a complete group from cache.
  • isWindows Automatically populated with whether the host is windows or not
  • lock Used by FileCache. Should files be locked before writing to them?
  • mask The mask used for created files
  • path Path to where cachefiles should be saved. Defaults to system's temp dir.
  • prefix Prepended to all entries. Good for when you need to share a keyspace with either another cache config or another application.
  • probability Probability of hitting a cache gc cleanup. Setting to 0 will disable cache::gc from ever being called automatically.
  • serialize Should cache objects be serialized first.
[
    'duration' => 3600,
    'groups' => [],
    'isWindows' => false,
    'lock' => true,
    'mask' => 0664,
    'path' => null,
    'prefix' => 'cake_',
    'probability' => 100,
    'serialize' => true
]

$_init ¶

protected boolean

True unless FileEngine::__active(); fails

true
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs