Changes between Version 18 and Version 19 of XcacheApi


Ignore:
Timestamp:
2007-10-23T08:55:00Z (8 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{{{