<?php namespace App\Libs;

class RequestContext{         
    protected $data = array();
    
    public function instance()
    {
        return $this;
    } 
    
    public function __get($name){
        if(array_key_exists($name, $this->data)){
            return $this->data[$name];    
        }
        
        return null;    
    } 
      
    public function __set($name, $value){
        $this->data[$name] = $value;       
    }
    
    public function __isset($name){
        return isset($this->data[$name]);      
    }
    
    public function __unset($name){
        unset($this->data[$name]);      
    }
    
    public function get($name) {
        if(array_key_exists($name, $this->data)){
            return $this->data[$name];    
        }
        
        return null;
    }
    
    public function set($name, $value) {
        $this->data[$name] = $value;
    }
}