$this->three($res->getNone()); } catch (Exception $e) { echo 'Caught: ' . $e->getMessage() . "\n"; } } function callTwo() { try { $res = new Object(); $this->three(1, $res->getNone()); } catch (Exception $e) { echo 'Caught: ' . $e->getMessage() . "\n"; } } function callThree() { try { $res = new Object(); $this->three(1, 2, $res->getNone()); } catch (Exception $e) { echo 'Caught: ' . $e->getMessage() . "\n"; } } } $p = new Proxy(); $p->callOne(); $p->callTwo(); $p->callThree(); ?> ===DONE===