MDL-21150 finally we have a general agreement that plugin_renderes now "magically extend" the core_renderer by using of __call() + fixed problems with protected methods

This commit is contained in:
Petr Skoda 2009-12-20 16:34:18 +00:00
parent 998999e725
commit 37b5b18e43

View file

@ -238,10 +238,11 @@ class plugin_renderer_base extends renderer_base {
* @param string $method * @param string $method
* @param array $arguments * @param array $arguments
* @return mixed * @return mixed
*
* TODO: this might not be the best idea, see MDL-21148 for pros&cons
*/ */
public function __call($method, $arguments) { public function __call($method, $arguments) {
if (method_exists('renderer_base', $method)) {
throw new coding_exception('Protected method called against '.__CLASS__.' :: '.$method);
}
if (method_exists($this->output, $method)) { if (method_exists($this->output, $method)) {
return call_user_func_array(array($this->output, $method), $arguments); return call_user_func_array(array($this->output, $method), $arguments);
} else { } else {