Author: kn
Date: Sat Jan  5 13:30:47 2008
New Revision: 7079

Log:
- Added patch for cache serialize handler

Added:
    trunk/cache_serialize.patch

Added: trunk/cache_serialize.patch
==============================================================================
--- trunk/cache_serialize.patch (added)
+++ trunk/cache_serialize.patch [iso-8859-1] Sat Jan  5 13:30:47 2008
@@ -1,0 +1,107 @@
+Index: Cache/src/cache_autoload.php
+===================================================================
+--- Cache/src/cache_autoload.php       (revision 7072)
++++ Cache/src/cache_autoload.php       (working copy)
+@@ -9,7 +9,7 @@
+  * @package Cache
+  */
+ 
+-return array(
++return array (
+     'ezcCacheException'                     => 
'Cache/exceptions/exception.php',
+     'ezcCacheApcException'                  => 
'Cache/exceptions/apc_exception.php',
+     'ezcCacheInvalidDataException'          => 
'Cache/exceptions/invalid_data.php',
+@@ -29,6 +29,7 @@
+     'ezcCacheMemcacheBackend'               => 
'Cache/backends/memcache/memcache_backend.php',
+     'ezcCacheMemoryVarStruct'               => 'Cache/structs/memory_var.php',
+     'ezcCacheStorageApcPlain'               => 'Cache/storage/apc/plain.php',
++    'ezcCacheStorageFileSerialize'          => 
'Cache/storage/file/serialize.php',
+     'ezcCacheStorageFileApcArray'           => 
'Cache/storage/apc/apc_array.php',
+     'ezcCacheStorageFileApcArrayDataStruct' => 
'Cache/structs/file_apc_array_data.php',
+     'ezcCacheStorageFileApcArrayOptions'    => 
'Cache/options/storage_apc_array.php',
+Index: Cache/src/storage/file/serialize.php
+===================================================================
+--- Cache/src/storage/file/serialize.php       (revision 0)
++++ Cache/src/storage/file/serialize.php       (revision 0)
+@@ -0,0 +1,75 @@
++<?php
++/**
++ * File containing the ezcCacheStorageSerialize class.
++ *
++ * @package Cache
++ * @version //autogentag//
++ * @copyright Copyright (C) 2005, 2006 eZ systems as. All rights reserved.
++ * @license http://ez.no/licenses/new_bsd New BSD License
++ * @filesource
++ */
++
++/**
++ * This class implements a simple storage to cache plain text 
++ * on the filesystem. It takes it's base methods from the extended 
++ * storage base class [EMAIL PROTECTED] ezcCacheStorageFile}.
++ *
++ * In contrast to other [EMAIL PROTECTED] ezcCacheStorageFile} 
implementations, the stored
++ * cache data is restored using PHP's file_get_contents() class. This cache
++ * is not capable to store array values. If numeric values are stored the 
++ * restored values will be of type string. The same applies to values of the 
++ * simple type bool. It is highly recommended that you cast the resulting
++ * value to it's correct type, also PHP will automatically perform this cast
++ * when necessary. An explicit cast ensures, that type consistant comparisons
++ * (using the === or !== operators) will not fail on restored cache data.
++ *
++ * An even better solution, if you want to store non-string values, are the
++ * usage of [EMAIL PROTECTED] ezcCacheStorageFileArray} and 
++ * [EMAIL PROTECTED] ezcCacheStorageFileEvalArray} storage classes, since 
those keep the
++ * variable types of you cached data consistant.
++ *
++ * For example code of using a cache storage, see [EMAIL PROTECTED] 
ezcCacheManager}.
++ *
++ * The Cache package contains several other implementations of 
++ * [EMAIL PROTECTED] ezcCacheStorageFile}. As there are:
++ *
++ * - ezcCacheStorageFileArray
++ * - ezcCacheStorageFileSerialize
++ * 
++ * @package Cache
++ */
++class ezcCacheStorageFileSerialize extends ezcCacheStorageFile
++{
++    /**
++     * Fetch data from the cache.
++     * This method does the fetching of the data itself. In this case, the
++     * method simply includes the file and returns the value returned by the
++     * include (or false on failure).
++     * 
++     * @param string $filename The file to fetch data from.
++     * @return mixed The fetched data or false on failure.
++     */
++    protected function fetchData( $filename )
++    {
++        return unserialize( file_get_contents( $filename ) );
++    }
++    
++    /**
++     * Serialize the data for storing.
++     * Serializes a PHP variable (except type resource and object) to a
++     * executable PHP code representation string.
++     * 
++     * @param mixed $data Simple type or array
++     * @return string The serialized data
++     *
++     * @throws ezcCacheInvalidDataException
++     *         If the data submitted is an array,object or a resource, since 
++     *         this implementation of [EMAIL PROTECTED] ezcCacheStorageFile} 
can only deal 
++     *         with scalar values.
++     */
++    protected function prepareData( $data )
++    {
++        return serialize( $data );
++    }
++}
++?>
+
+Property changes on: Cache/src/storage/file/serialize.php
+___________________________________________________________________
+Name: svn:eol-style
+   + native
+


-- 
svn-components mailing list
svn-components@lists.ez.no
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to