Class **Phalcon\\Cache\\Frontend\\Output**
==========================================
*implements* :doc:`Phalcon\\Cache\\FrontendInterface <Phalcon_Cache_FrontendInterface>`
Allows to cache output fragments captured with ob_* functions
.. code-block:: php
<?php
//Create an Output frontend. Cache the files for 2 days
$frontCache = new Phalcon\Cache\Frontend\Output(array(
"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 Phalcon\Cache\Backend\File($frontCache, array(
"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 ($content === null) {
//Print date and time
echo date("r");
//Generate a link to the sign-up action
echo Phalcon\Tag::linkTo(
array(
"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 *integer* **getLifetime** ()
Returns cache lifetime
public *boolean* **isBuffering** ()
Check whether if frontend is buffering output
public **start** ()
Starts output frontend
public *string* **getContent** ()
Returns output cached content
public **stop** ()
Stops output frontend
public **beforeStore** (*mixed* $data)
Prepare data to be stored
public **afterRetrieve** (*mixed* $data)
Prepares data to be retrieved to user