Giusto per completare il tutto ... nell'esempio sfrutto doSomethingN dentro gli altri metodi, in realtà basta sfruttare l'overload anche dentro i metodi stessi ...
codice:class Overload { protected function doSomething0(A $a) { return 'Recieved an A instance with value: '.$a; } protected function doSomething1(B $b) { return 'Recieved a B instance with value: '.$b; } protected function doSomething2(A $a, B $b) { return $this->doSomething($a).' and '.$this->doSomething($b).' too'; } protected function doSomething3(B $b, A $a) { return $this->doSomething($b).' and '.$this->doSomething($a).' too'; } public function __call($method, $arguments){ ... } }


Rispondi quotando