Changes between Version 18 and Version 19 of XcacheApi


Ignore:
Timestamp:
2007-10-23T10:55:00+02:00 (7 years ago)
Author:
judas_iscariote
Comment:

add a simple oop wrapper...

Legend:

Unmodified
Added
Removed
Modified
  • XcacheApi

    v18 v19  
    7878}}} 
    7979 
     80====== a Simple OO wrapper ====== 
     81{{{  
     82#!php 
     83<?php 
     84 
     85/** 
     86 * XCache 
     87 * 
     88 * @package XCache 
     89 * @version $Id$ 
     90 * @copyright 2007 
     91 * @author Cristian Rodriguez <judas.iscariote@flyspray.org> 
     92 * @license BSD {@link http://www.opensource.org/licenses/bsd-license.php} 
     93 */ 
     94 
     95class XCache { 
     96     
     97    private static $xcobj; 
     98     
     99    private function __construct() 
     100    { 
     101    } 
     102 
     103    public final function __clone() 
     104    { 
     105        throw new BadMethodCallException("Clone is not allowed"); 
     106    }  
     107     
     108    /** 
     109     * getInstance  
     110     *  
     111     * @static 
     112     * @access public 
     113     * @return object XCache instance 
     114     */ 
     115    public static function getInstance()  
     116    { 
     117        return (self::$xcobj instanceof XCache) ? self::$xcobj : new XCache;  
     118    } 
     119 
     120    /** 
     121     * __set  
     122     *  
     123     * @param mixed $name  
     124     * @param mixed $value  
     125     * @access public 
     126     * @return void 
     127     */ 
     128    public function __set($name, $value) 
     129    { 
     130        xcache_set($name, $value); 
     131    } 
     132 
     133    /** 
     134     * __get  
     135     *  
     136     * @param mixed $name  
     137     * @access public 
     138     * @return void 
     139     */ 
     140    public function __get($name) 
     141    { 
     142        return xcache_get($name); 
     143    } 
     144 
     145    /** 
     146     * __isset  
     147     *  
     148     * @param mixed $name  
     149     * @access public 
     150     * @return bool 
     151     */ 
     152    public function __isset($name) 
     153    { 
     154        return xcache_isset($name); 
     155    } 
     156 
     157    /** 
     158     * __unset  
     159     *  
     160     * @param mixed $name  
     161     * @access public 
     162     * @return void 
     163     */ 
     164    public function __unset($name) 
     165    { 
     166        xcache_unset($name); 
     167    } 
     168} 
     169 
     170//example use... 
     171 
     172$cache = XCache::getInstance(); 
     173$cache->foo = PHP_INT_MAX; 
     174$cache->bar = range('a', 'z'); 
     175var_dump($cache->foo); 
     176var_dump($cache->bar); 
     177unset($cache->bar); 
     178var_dump(isset($cache->bar)); 
     179}}} 
     180 
     181 
    80182====== Administrator Functions ====== 
    81183{{{