cvs: php4 /pear/Cache Output.php

From: Date: Fri, 02 Mar 2001 15:17:23 +0000
Subject: cvs: php4 /pear/Cache Output.php
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4346@lists.php.net to get a copy of this message
uw Fri Mar 2 07:17:23 2001 EDT Modified files: /php4/pear/Cache Output.php Log: ... must forgot this commit - endGet(), $cache_id => $output_id - added endGet() which returns the output buffering content - changed $cache_id to $output_id seems to be a better name as the class is named Cache_Output Index: php4/pear/Cache/Output.php diff -u php4/pear/Cache/Output.php:1.4 php4/pear/Cache/Output.php:1.5 --- php4/pear/Cache/Output.php:1.4 Fri Mar 2 06:46:01 2001 +++ php4/pear/Cache/Output.php Fri Mar 2 07:17:22 2001 @@ -17,9 +17,9 @@ // | Vinai Kopp <kopp@netzarbeiter.de> | // +----------------------------------------------------------------------+ // -// $Id: Output.php,v 1.4 2001/03/02 14:46:01 chregu Exp $ +// $Id: Output.php,v 1.5 2001/03/02 15:17:22 uw Exp $ -require_once'Cache.php'; +require_once SHOP_INCLUDE_DIR . 'Cache/Cache.php'; /** * Class to cache the output of a script using the output buffering functions @@ -36,9 +36,11 @@ * * // place this somewhere in a central config file * define(CACHE_STORAGE_CLASS, "cache_container_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) +* $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 @@ -86,8 +88,9 @@ * @var string * @see start(), end() */ - var $cache_id = ""; + var $output_id = ""; + /** * starts the output buffering and returns an empty string or returns the cached output from the cache. * @@ -98,14 +101,14 @@ function start($id) { if ($this->no_cache) return ""; - - // this is already cached return it from the cache so that the user + + // this is already cached return it from the cache so that the user // can use the cache content and stop script execution if ($content = $this->get($id)) return $content; - + // remember some data to be able to fill the cache on calling end() - $this->cache_id = $id; + $this->output_id = $id; // WARNING: we need the output buffer - possible clashes ob_start(); @@ -113,6 +116,7 @@ return ""; } // end func start + /* * Stores the content of the output buffer into the cache and returns the content. @@ -120,7 +124,7 @@ * @param integer lifetime of the cached data in seconds - 0 for endless * @return string cached output * @access public - * @see endPrint() + * @see endPrint(), endGet() */ function end($expire = 0) { @@ -129,22 +133,45 @@ // store in the cache if (!$this->no_cache) - $this->container->save($this->cache_id,$content, $expire); - + $this->container->save($this->output_id, $content, $expire); + return $content; } // end func end() + /** * Stores the content of the output buffer into the cache and prints the content. * - * @brother end() + * @brother end(), endGet() */ function endPrint($expire = 0) { - print $this->end($expire); + print $this->end($expire); } // end func endPrint + /** + * 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 + * @access public + * @see endPrint(), end() + */ + function endGet() { + + $content = ob_get_contents(); + ob_end_clean(); + + $this->output_id = ""; + + return $content; + } // end func endGet + + } // end class output -?> \ No newline at end of file +?>

« previous php.cvs (#4346) next »