All pastes #965898 Raw Edit

Unnamed

public php v1 · immutable
·published 2008-04-01 09:24 UTC
rendered paste body
<?php/** * @package cacher * @author Adam Flatau of Reflect Studios * @since 03/14/08 * @desc Class to mange both APC and memcache data transactions. */class cacher{  /**   * An array of server IPs defined in the config for our memcache   * Array index match $portArray indexs   * @var array   */  public $serverArray = MEMCACHE_SERVER_ARRAY;  /**   * An array of ports defined in the config for our memcache   * Array index match $serverArray indexs   * @var array   */  public $portArray   = MEMCACHE_PORT_ARRAY;  /**   * Reserved for the memcache object if initialized on construct   * @var object   */  public $memCache;     /**   * Construct the cacher object   *   * @param bool[optional] $memcache Enable Memcache capabilities   */  function __construct($memcache = null){    if($memcache) $this->memCache = new Memcache;  }     /**   * Function to connect to the memcache server. We will go ahead and get our   * server IP address from our serverArray and port from portArray.   *    * If failure to connecting to server, it will try next sever in the array.   *    * If pcon is set to true, it will then	open up a pressitent connection.   *    * If server is supllied it will connect with that server. We Will check to   * see if the server is an IP or index value for the serverArray.    *   * @param int[optional] $server   * @param bool[optional] $pCon   */  function memConnect($server = null, $pCon = null){    if($this->memCache) {      if($server) {        if(is_numeric($server)) {          // index from serverArray          $memcon = $this->memCache->connect($this->serverArray[$server]);          if($memcon) {            return array(1, 1);          } else {            $this->p_error(0, 'There was an error while trying to connect to the memcache server IP:' . $server);            return array(0, 'Error with connection to memcache server');          }        } else {          // use custom IP , we will do an           // explode to see if there is a port          $serverData = explode(':', $server);          $server = $serverData[0];          if(!empty($serverData[1])) {            $memcon = @$this->memCache->connect($server,$serverData[1]);            if($memcon) {              return array(1, 1);            } else {              $this->p_error(0, 'There was an error while trying to connect to the memcache server IP:' . $server . ' Port:' . $serverData[1]);              return array(0, 'Error with connection to memcache server');            }            } else {            $memcon = @$this->memCache->connect($server,'11211');            if($memcon){              return array(1, 1);            } else {              $this->p_error(0, 'There was an error while trying to connect to the memcache server IP:' . $server);              return array(0, 'Error with connection to memcache server');            }          }        }      } else {      // ok grab one from the serverArray      }    } else {     // memcache object was not created in the constructor    }  }     function p_error($err,$sql = "") {       switch($err) {      case 0:  // custom error        $err = "0 - " . date("m-j-y") . " Custom Error: " . $sql;        write_error("CACHER", $err);              break;           default:        break;    }  }        function __destruct(){      }   }  $temp = new cacher();?>