Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JCacheControllerView
+ Graphe d'héritage de JCacheControllerView:
+ Graphe de collaboration de JCacheControllerView:

Liste de tous les membres

Fonctions membres publiques

 get ($view, $method= 'display', $id=false, $wrkarounds=true)
- Fonctions membres publiques inherited from JCacheController
 __construct ($options)
 __call ($name, $arguments)
 setCaching ($enabled)
 setLifeTime ($lt)
 get ($id, $group=null)
 store ($data, $id, $group=null, $wrkarounds=true)

Fonctions membres protégées

 _makeId (&$view, $method)

Additional Inherited Members

- Fonctions membres publiques statiques inherited from JCacheController
static getInstance ($type= 'output', $options=array())
static addIncludePath ($path= '')
- Attributs publics inherited from JCacheController
 $cache
 $options

Description détaillée

Définition à la ligne 19 du fichier view.php.


Documentation des fonctions membres

JCacheControllerView::_makeId ( $view,
  $method 
)
protected

Generate a view cache id.

Paramètres:
object&$viewThe view object to cache output for
string$methodThe method name to cache for the view object
Renvoie:
string MD5 Hash : view cache id
Depuis:
11.1

Définition à la ligne 131 du fichier view.php.

Références JCache\makeId().

{
return md5(serialize(array(JCache::makeId(), get_class($view), $method)));
}

+ Voici le graphe d'appel pour cette fonction :

JCacheControllerView::get (   $view,
  $method = 'display',
  $id = false,
  $wrkarounds = true 
)

Get the cached view data

Paramètres:
object&$viewThe view object to cache output for
string$methodThe method name of the view method to cache output for
string$idThe cache data id
boolean$wrkaroundsTrue to enable workarounds.
Renvoie:
boolean True if the cache is hit (false else)
Depuis:
11.1

Définition à la ligne 33 du fichier view.php.

Références JCache\getWorkarounds(), et JCache\setWorkarounds().

{
// If an id is not given generate it from the request
if ($id == false)
{
$id = $this->_makeId($view, $method);
}
$data = $this->cache->get($id);
$locktest = new stdClass;
$locktest->locked = null;
$locktest->locklooped = null;
if ($data === false)
{
$locktest = $this->cache->lock($id, null);
// If the loop is completed and returned true it means the lock has been set.
// If looped is true try to get the cached data again; it could exist now.
if ($locktest->locked == true && $locktest->locklooped == true)
{
$data = $this->cache->get($id);
}
// False means that locking is either turned off or maxtime has been exceeded.
// Execute the view.
}
if ($data !== false)
{
$data = unserialize(trim($data));
if ($wrkarounds === true)
{
}
else
{
// No workarounds, so all data is stored in one piece
echo (isset($data)) ? $data : null;
}
if ($locktest->locked == true)
{
$this->cache->unlock($id);
}
return true;
}
/*
* No hit so we have to execute the view
*/
if (method_exists($view, $method))
{
// If previous lock failed try again
if ($locktest->locked == false)
{
$locktest = $this->cache->lock($id);
}
// Capture and echo output
ob_start();
ob_implicit_flush(false);
$view->$method();
$data = ob_get_contents();
ob_end_clean();
echo $data;
/*
* For a view we have a special case. We need to cache not only the output from the view, but the state
* of the document head after the view has been rendered. This will allow us to properly cache any attached
* scripts or stylesheets or links or any other modifications that the view has made to the document object
*/
$cached = $wrkarounds == true ? JCache::setWorkarounds($data) : $data;
// Store the cache data
$this->cache->store(serialize($cached), $id);
if ($locktest->locked == true)
{
$this->cache->unlock($id);
}
}
return false;
}

+ Voici le graphe d'appel pour cette fonction :


La documentation de cette classe a été générée à partir du fichier suivant :