<?php
 
 
    /*
 
     * CLASS TO GENRATE CONSTANT ARRAY
 
     * @author Sourav Ray
 
     * @version 2.0.0
 
     * @name arrConst.inc.php
 
     * @Note:     arrConst Version 2.0.0 consist a major change in Get method
 
                Now with the new get method it is possible to get 
 
                back the value of a particular element of the Array  Constant
 
     * ---------------------------------------------------------------------------
 
     */ 
 
 
     class arrConst
 
    {
 
        
 
        public static function set($constName, $paramArray)                // setter method: sets the array as a constant
 
        {
 
            if($paramArray)
 
            {
 
                if(is_array($paramArray))
 
                {
 
                    if($constName)
 
                    {
 
                        if(defined($constName))
 
                        {
 
                            throw new Exception('arrConst Error: Constant name in use');
 
                        }
 
                        else
 
                        {
 
                            try
 
                            {
 
                                define($constName,var_export($paramArray, true));
 
                            } 
 
                            catch ( Exception  $e)
 
                            {
 
                                    throw new Exception('arrConst Error: Unknown error');
 
                            }
 
                        }
 
                    }
 
                    else 
 
                    {
 
                        throw new Exception('arrConst Error: No Const name');
 
                    }
 
                }
 
                else
 
                {
 
                    throw new Exception("arrConst Error: Non array Constan can't be define");
 
                }
 
            }
 
            else 
 
            {
 
                throw new Exception('arrConst Error: Void array');
 
            }
 
        }
 
        
 
        
 
        public static function get($constName,$element=NULL)                         //getter method: returns the array from the constant
 
        {
 
            if( $constName)
 
            {
 
                try
 
                {    
 
                    if(is_null($element))
 
                    {
 
                        return eval('return '.$constName.";");
 
                    }
 
                    else
 
                    {
 
                        $array=eval('return '.$constName.";");
 
                        $keyArr = explode(',',$element);
 
                        $tempReturn=$array[$keyArr[0]];
 
                        for($count=1, $keySize=count($keyArr); $count<=$keySize; $count++ )
 
                        {
 
                            if($keyArr[$count] == NULL || $keyArr[$count] == ' ')
 
                            {
 
                                $tempReturn=$tempReturn;
 
                            }
 
                            else
 
                            {
 
                                $tempReturn=$tempReturn[$keyArr[$count]];
 
                            }
 
                        }
 
                        
 
                        return $tempReturn;
 
                        
 
                    }
 
                }
 
                catch ( Exception  $e)
 
                {
 
                    throw new Exception('arrConst Error: Unknown error');
 
                }                
 
            }
 
            else 
 
            {
 
                throw new Exception('arrConst Error: Invalid Constant Name');
 
            }
 
        }
 
    
 
}
 
 
?>
 
 |