return $instance->{$method}(); case 1: return $instance->{$method}($args[0]); case 2: return $instance->{$method}($args[0], $args[1]); case 3: return $instance->{$method}($args[0], $args[1], $args[2]); case 4: return $instance->{$method}($args[0], $args[1], $args[2], $args[3]); default: return call_user_func_array(array($instance, $method), $args); } } } // Set the container on our facade class Facade::setContainer($container); // And our static classes //class Cache extends Facade { protected static $key = 'cache'; } class DB extends Facade { protected static $key = 'db'; } class Lang extends Facade { protected static $key = 'translator'; } class Validator extends Facade { protected static $key = 'validator'; } //class Paginator extends Facade { protected static $key = 'paginator'; }