PHP Classes
Icontem

File: core/classes/Config.class.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marius Zadara  >  PAX  >  core/classes/Config.class.php  
File: core/classes/Config.class.php
Role: Class source
Content type: text/plain
Description: Config class
Class: PAX
Interpret XML command scripts with PHP classes
 

Contents

Class file image Download
<?php

/**
 * Page DocBlock definition
 * @package org.zadara.marius.pax
 */


/**
 * Class definition for a hash-map.
 * This class will contain associations between variables and theirs value. 
 * 
 * @author Marius Zadara <marius@zadara.org>
 * @category Classes
 * @copyright (C) 2008-2009 Marius Zadara
 * @license Free for non-comercial use
 * @package org.zadara.marius.pax
 * @final 
 * @see PAXObject
 * @see IConfig
 * @version 6.0
 * @since 5.0 
 */
final class Config extends PAXObject implements IConfig 
{
    
/**
     * The hash-map associations array.
     *
     * @access private
     * @var array
     */
    
private $hashmap;

    
/**
     * Class constructor.
     *
     * @access public
     */
    
public function __construct()
    {
        
// call the parent's constructor first
        
parent::__construct();
        
        
// init the hash-map
        // at this moment set it to NULL to preserve memory
        
$this->hashmap null;
    }
    
    
/**
     * Method to set a variable to a value in the hash-map.
     * If the key already exists, the value wil be updated.
     *
     * @access public
     * @param string <b>$variable</b> The variable name
     * @param mixed <b>$value</b> The variable value
     * @return void
     */
    
public function set($variable$value)
    {
        
// check the hash-map    
        
if (is_null($this->hashmap))
            
$this->hashmap = array();
        
        
// set the variable to its value
        
$this->hashmap[$variable] = $value;
    }
    
    
/**
     * Method to get the variabile value from the hash-map.
     *
     * @access public
     * @param string <b>$variable</b> The variable name
     * @param mixed <b>$defaultValue</b> The variable default value (used in case the variabile has not been found)
     * @return mixed The value of the variables as defined 
     */
    
public function get($variable$defaultValue=NULL)
    {
        
// if the hash-map has not been set, 
        // return the default value
        
if (is_null($this->hashmap))
            return 
$defaultValue;
        
        
// if the variable is not set in the hash-map,
        // return the default value
        
if (!isset($this->hashmap[$variable]))
            return 
$defaultValue;
            
        
// at this point, the variable is set
        // return its value from the hash-map
        
return $this->hashmap[$variable];
    }    
    
    
/**
     * Method to return only the keys.
     *
     * @access public
     * @return array The list of all the keys 
     */
    
public function getKeys()
    {
        if (
is_null($this->hashmap))
            return 
false;

        if (!
is_array($this->hashmap))
            return 
false;
            
        return 
array_keys($this->hashmap);    
    }

    
    
/**
     * Method to return only the values.
     *
     * @access public
     * @return array The list of all the values
     */
    
public function getValues()
    {
        if (
is_null($this->hashmap))
            return 
false;

        if (!
is_array($this->hashmap))
            return 
false;
            
        return 
array_values($this->hashmap);            
    }

    
    
/**
     * Method to delete a key.
     *
     * @access public
     * @param string <b>$key</b> The name of the key
     * @return boolean True/False if the key has been deleted
     */
    
public function deleteKey($key)
    {
        if (
is_null($this->hashmap))
            return 
false;
            
        if (!
is_array($this->hashmap))
            return 
false;
            
        if (isset(
$this->hashmap[$key]))
        {
            unset(
$this->hashmap[$key]);
            return 
true;
        }
        
        return 
false;
    }
    
    
    
/**
     * Method to delete the keys matching a pattern.
     * The match is performed case insensitive.
     *
     * @access public
     * @param string <b>$pattern</b> The pattern to use when searching for the keys
     * @return boolean True/False if the key(s) has been deleted
     */
    
public function deleteKeysLike($pattern)
    {
        if (
is_null($this->hashmap))
            return 
false;
            
        if (!
is_array($this->hashmap))
            return 
false;
        
        
$keysDeleted false;

        
// parse the hash-map list
        
foreach ($this->hashmap as $keyName => $keyValue)
        {
            
// search the pattern inside the key name
            
if (stripos($keyName$pattern) !== false)
            {
                
// if found, then try to delete the key
                
if ($this->deleteKey($keyName))
                    
$keysDeleted true;
            }
        }

        return 
$keysDeleted;
    }
    
    
    
/**
     * Method to get the key-value pairs from the hash-map.
     * Due to construction of the hash-map, will return the content of te hash-map.
     * 
     * @access public
     * @return array The object's content
     */
    
public function getKeyValuePairs()
    {
        if (
is_null($this->hashmap))
            return 
false;
            
        if (!
is_array($this->hashmap))
            return 
false;

        return 
$this->hashmap;
    }
    
    
    
/**
     * Method to search if a key exists.
     * 
     * @access public 
     * @param string <b>$key</b> The key searched
     * @return boolean True/False if the key has been found or not
     */
    
public function keyExists($key)
    {
        if (
is_null($this->hashmap))
            return 
false;
            
        if (!
is_array($this->hashmap))
            return 
false;

        return isset(
$this->hashmap[$key]);
    }
    
    
    
    
    
/**
     * Class destructor.
     *
     * @access public
     */
    
function __destruct()
    {
        
// nothing special to do at this moment
    
}
}


?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products