PHP – Passing data between classes

Static class properties are the most efficient way to pass information from one class to another. Typically, one would place a variable in the global scope for other functions and classes to use. However, this is not a good practice as setting GLOBALS equates to a downgrade in performance. Using static properties allows you to store/retrieve data without instantiating a class object.

class IntermediaryData{
    public static $global = null;

    public function set($data){	
        return self::$global = $data;
    }
	
    public function get(){
        return self::$global;
    }
}

Use this in your classes to set and retrieve data:

IntermediaryData::get();
IntermediaryData::set($data);

A good use case for this functionality is passing a rolling list of ids to exclude from queries from widget to widget within a dynamic WordPress sidebar.