Re: cvs: php4(PHP_4_0_5) /pear/Cache Output.php

From: Date: Sat, 24 Mar 2001 02:06:08 +0000
Subject: Re: cvs: php4(PHP_4_0_5) /pear/Cache Output.php
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4822@lists.php.net to get a copy of this message
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 <kopp@netzarbeiter.de>                           |
// +----------------------------------------------------------------------+ // -// $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 <ulf.wendel@phpdoc.de> * @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: php-cvs-unsubscribe@lists.php.net For additional commands, e-mail: php-cvs-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net
-- Zeev Suraski <zeev@zend.com> CTO & co-founder, Zend Technologies Ltd. http://www.zend.com/

« previous php.cvs (#4822) next »