FYI - there's a good chance we won't have another RC...
At 20:36 23/3/2001, Christian Stocker wrote:
>chregu Fri Mar 23 10:36:37 2001 EDT
>
> Modified files: (Branch: PHP_4_0_5)
> /php4/pear/Cache Output.php
> Log:
> GarbageCollection was moved into a PEAR-Deconstructor
> (from the HEAD Branch)
>
>
>Index: php4/pear/Cache/Output.php
>diff -u php4/pear/Cache/Output.php:1.11 php4/pear/Cache/Output.php:1.11.2.1
>--- php4/pear/Cache/Output.php:1.11 Sat Mar 10 23:46:58 2001
>+++ php4/pear/Cache/Output.php Fri Mar 23 10:36:36 2001
>@@ -17,64 +17,78 @@
> // | Vinai Kopp <[EMAIL PROTECTED]> |
> // +----------------------------------------------------------------------+
> //
>-// $Id: Output.php,v 1.11 2001/03/11 07:46:58 sbergmann Exp $
>+// $Id: Output.php,v 1.11.2.1 2001/03/23 18:36:36 chregu Exp $
>
> require_once 'Cache.php';
>
> /**
> * 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
>+* 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).
>-*
>+*
>+* 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/");
>+* // file storage needs a dir to put the cache files
>+* define(CACHE_DIR, "/var/tmp/");
> *
>-* // get a cache object
>+* // 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
>+* // if your script depends on Cookie and HTTP Post data as well
> * // you should use:
>-* // $cache_handle = array(
>+* // $cache_handle = array(
> * // "file" => $REQUEST_URI,
> * // "post" => $HTTP_POST_VAS"
> * // "cookie" => $HTTP_COOKIE_VARS
> * // );
>-* $cache_handle = $REQUEST_URI;
>-*
>-* // now the magic happens: if cached call die()
>+* // 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.
>-*
>+*
>+* // time consumption script goes here.
>+*
> * // store the output of the cache into the cache and print the output.
> * print $cache->end();
>-*
>-* 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;
>-* }
>+* 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
> *
>-* Have fun!
>-*
>+* 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!
>+*
> * @authors Ulf Wendel <[EMAIL PROTECTED]>
> * @version $ID: $
> * @package Cache
>@@ -84,7 +98,7 @@
>
> /**
> * ID passed to start()
>- *
>+ *
> * @var string
> * @see start(), end()
> */
>@@ -92,25 +106,34 @@
>
> /**
> * Group passed to start()
>- *
>- * @var string
>+ *
>+ * @var string
> * @see start(), end()
> */
> var $output_group = "";
>
> /**
>+ * PEAR-Deconstructor
>+ * Call deconstructor of parent
>+ */
>+ function _Cache_Output()
>+ {
>+ $this->_Cache();
>+ }
>+
>+ /**
> * 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
>+ * @return string
> * @access public
> */
> function start($id, $group = "default") {
> 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, $group))
> return $content;
>@@ -152,14 +175,14 @@
> * @brother end()
> */
> function endPrint($expire = 0, $userdata = "") {
>- print $this->end($expire, $userdata);
>+ print $this->end($expire, $userdata);
> } // 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
>+ * 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
>
>
>
>--
>PHP CVS Mailing List (http://www.php.net/)
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]
--
Zeev Suraski <[EMAIL PROTECTED]>
CTO & co-founder, Zend Technologies Ltd. http://www.zend.com/
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]