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 JCacheControllerPage
+ Graphe d'héritage de JCacheControllerPage:
+ Graphe de collaboration de JCacheControllerPage:

Liste de tous les membres

Fonctions membres publiques

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

Fonctions membres protégées

 _makeId ()
 _noChange ()
 _setEtag ($etag)

Attributs protégés

 $_id
 $_group
 $_locktest = null

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 page.php.


Documentation des fonctions membres

JCacheControllerPage::_makeId ( )
protected

Generate a page cache id

Renvoie:
string MD5 Hash : page cache id
Depuis:
11.1
A faire:
Discuss whether this should be coupled to a data hash or a request hash ... perhaps hashed with a serialized request

Définition à la ligne 176 du fichier page.php.

Références JCache\makeId().

{
return JCache::makeId();
}

+ Voici le graphe d'appel pour cette fonction :

JCacheControllerPage::_noChange ( )
protected

There is no change in page data so send an unmodified header and die gracefully

Renvoie:
void
Depuis:
11.1

Définition à la ligne 189 du fichier page.php.

Références JFactory\getApplication().

{
// Send not modified header and exit gracefully
header('HTTP/1.x 304 Not Modified', true);
$app->close();
}

+ Voici le graphe d'appel pour cette fonction :

JCacheControllerPage::_setEtag (   $etag)
protected

Set the ETag header in the response

Paramètres:
string$etagThe entity tag (etag) to set
Renvoie:
void
Depuis:
11.1

Définition à la ligne 207 du fichier page.php.

Références JFactory\getApplication().

{
JFactory::getApplication()->setHeader('ETag', $etag, true);
}

+ Voici le graphe d'appel pour cette fonction :

JCacheControllerPage::get (   $id = false,
  $group = 'page' 
)

Get the cached page data

Paramètres:
string$idThe cache data id
string$groupThe cache data group
Renvoie:
boolean True if the cache is hit (false else)
Depuis:
11.1

Réimplémentée à partir de JCacheController.

Définition à la ligne 49 du fichier page.php.

Références JCache\getWorkarounds().

{
// If an id is not given, generate it from the request
if ($id == false)
{
$id = $this->_makeId();
}
// If the etag matches the page id ... set a no change header and exit : utilize browser cache
if (!headers_sent() && isset($_SERVER['HTTP_IF_NONE_MATCH']))
{
$etag = stripslashes($_SERVER['HTTP_IF_NONE_MATCH']);
if ($etag == $id)
{
$browserCache = isset($this->options['browsercache']) ? $this->options['browsercache'] : false;
if ($browserCache)
{
$this->_noChange();
}
}
}
// We got a cache hit... set the etag header and echo the page data
$data = $this->cache->get($id, $group);
$this->_locktest = new stdClass;
$this->_locktest->locked = null;
$this->_locktest->locklooped = null;
if ($data === false)
{
$this->_locktest = $this->cache->lock($id, $group);
if ($this->_locktest->locked == true && $this->_locktest->locklooped == true)
{
$data = $this->cache->get($id, $group);
}
}
if ($data !== false)
{
$data = unserialize(trim($data));
$data = JCache::getWorkarounds($data);
$this->_setEtag($id);
if ($this->_locktest->locked == true)
{
$this->cache->unlock($id, $group);
}
return $data;
}
// Set id and group placeholders
$this->_id = $id;
$this->_group = $group;
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JCacheControllerPage::store (   $data,
  $id,
  $group = null,
  $wrkarounds = true 
)

Stop the cache buffer and store the cached data

Paramètres:
mixed$dataThe data to store
string$idThe cache data id
string$groupThe cache data group
boolean$wrkaroundsTrue to use wrkarounds
Renvoie:
boolean True if cache stored
Depuis:
11.1

Réimplémentée à partir de JCacheController.

Définition à la ligne 120 du fichier page.php.

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

{
// Get page data from the application object
if (empty($data))
{
$data = JFactory::getApplication()->getBody();
}
// Get id and group and reset the placeholders
if (empty($id))
{
$id = $this->_id;
}
if (empty($group))
{
$group = $this->_group;
}
// Only attempt to store if page data exists
if ($data)
{
if ($wrkarounds) {
$data = JCache::setWorkarounds($data, array(
'nopathway' => 1,
'nohead' => 1,
'nomodules' => 1,
'headers' => true
));
}
if ($this->_locktest->locked == false)
{
$this->_locktest = $this->cache->lock($id, $group);
}
$sucess = $this->cache->store(serialize($data), $id, $group);
if ($this->_locktest->locked == true)
{
$this->cache->unlock($id, $group);
}
return $sucess;
}
return false;
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

JCacheControllerPage::$_group
protected

Définition à la ligne 31 du fichier page.php.

JCacheControllerPage::$_id
protected

Définition à la ligne 25 du fichier page.php.

JCacheControllerPage::$_locktest = null
protected

Définition à la ligne 37 du fichier page.php.


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