Skip to content

Latest commit

 

History

History
47 lines (24 loc) · 1.9 KB

File metadata and controls

47 lines (24 loc) · 1.9 KB

Class Phalcon\Cache\Frontend\Output

implements Phalcon\Cache\FrontendInterface

Source on GitHub

Allows to cache output fragments captured with ob_* functions

* * use Phalcon\Tag; * use Phalcon\Cache\Backend\File; * use Phalcon\Cache\Frontend\Output; * * // Create an Output frontend. Cache the files for 2 days * $frontCache = new Output( * [ * "lifetime" => 172800, * ] * ); * * // Create the component that will cache from the "Output" to a "File" backend * // Set the cache file directory - it's important to keep the "/" at the end of * // the value for the folder * $cache = new File( * $frontCache, * [ * "cacheDir" => "../app/cache/", * ] * ); * * // Get/Set the cache file to ../app/cache/my-cache.html * $content = $cache->start("my-cache.html"); * * // If $content is null then the content will be generated for the cache * if (null === $content) { * // Print date and time * echo date("r"); * * // Generate a link to the sign-up action * echo Tag::linkTo( * [ * "user/signup", * "Sign Up", * "class" => "signup-button", * ] * ); * * // Store the output into the cache file * $cache->save(); * } else { * // Echo the cached output * echo $content; * }

*```

## Methods

public **__construct** ([*array* $frontendOptions])

Phalcon\\Cache\\Frontend\\Output constructor

public **getLifetime** ()

Returns the cache lifetime

public **isBuffering** ()

Check whether if frontend is buffering output

public **start** ()

Starts output frontend. Currently, does nothing

public *string* **getContent** ()

Returns output cached content

public **stop** ()

Stops output frontend

public **beforeStore** (*mixed* $data)

Serializes data before storing them

public **afterRetrieve** (*mixed* $data)

Unserializes data after retrieval