[ Index ]
 

Code source de PHP PEAR 1.4.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Cache/ -> Output.php (sommaire)

(pas de description)

Poids: 215 lignes (7 kb)
Inclus ou requis: 1 fois
Référencé: 0 fois
Nécessite: 1 fichier
 Cache.php

Définit 1 class

Cache_Output:: (6 méthodes):
  _Cache_Output()
  start()
  end()
  endPrint()
  printContent()
  endGet()


Classe: Cache_Output  - X-Ref

Class to cache the output of a script using the output buffering functions

Simple output cache. Some pages require lots of time to compute. Caching the
output can increase the overall speed dramatically, especially if you use
a Shared Memory storage container.

As you can see in the example the usage is extemely simple. To cache a script
simple put some few lines of code in front of your script and some at the end.
A preferrable place for this are the auto_prepend and auto_append files (=> php.ini).

Usage example:

// place this somewhere in a central config file
define(CACHE_STORAGE_CLASS, 'file');
// file storage needs a dir to put the cache files
define(CACHE_DIR, '/var/tmp/');

// get a cache object
$cache = new Cache_Output(CACHE_STORAGE_CLASS, array('cache_dir' => CACHE_DIR));

// compute the unique handle.
// if your script depends on Cookie and HTTP Post data as well
// you should use:
// $cache_handle = array(
//                       'file' => $REQUEST_URI,
//                       'post' => $HTTP_POST_VARS,
//                       'cookie'  => $HTTP_COOKIE_VARS
//                    );
// But be warned, using all GET or POST Variables as a seed
// can be used for a DOS attack. Calling http://www.example.com/example.php?whatever
// where whatever is a random text might be used to flood your cache.
$cache_handle = $cache->generateID($REQUEST_URI);

// now the magic happens: if cached call die()
// to end the time consumptiong script script execution and use the cached value!
if ($content = $cache->start($cache_handle)) {
print $content;
print '<p>Cache hit</p>';
die();
}

// time consumption script goes here.

// store the output of the cache into the cache and print the output.
print $cache->end();
print "<p>Cache miss, stored using the ID '$id'.</p>";

If you do not want to cache a whole page - no problem:

if (!($content = $cache->start($cache_handle))) {
// do the computation here
print $cache->end()
} else {
print $content;
}

If you need an example script check the (auto_)prepend and (auto_)append
files of my homepage:

http://www.ulf-wendel.de/php/show_source.php?file=prepend
http://www.ulf-wendel.de/php/show_source.php?file=append

Don't know how to use it or you need profiling informations?`
Ask Christian he was patient with me and he'll be so with your questions ;).

Have fun!

_Cache_Output()   X-Ref
PEAR-Deconstructor
Call deconstructor of parent


start($id, $group = 'default')   X-Ref
starts the output buffering and returns an empty string or returns the cached output from the cache.

param: string  dataset ID
param: string  cache group
return: string

end($expire = 0, $userdata = '')   X-Ref
Pas de description

endPrint($expire = 0, $userdata = '')   X-Ref
Stores the content of the output buffer into the cache and prints the content.


printContent($content = '')   X-Ref
Sends the data to the user.
This is for compatibility with OutputCompression

param: string

endGet()   X-Ref
Returns the content of the output buffer but does not store it into the cache.

Use this method if the content of your script is markup (XML)
that has to be parsed/converted (XSLT) before you can output
and store it into the cache using save().

return: string



Généré le : Sun Feb 25 14:08:00 2007 par Balluche grâce à PHPXref 0.7