public function testIfRouteTakesCareOfControllerSintax() { $route = new Route('test', 'HomeController@index'); $this->assertEquals(['HomeController', 'index'], $route->getCallback()); $route = new Route('test', function () { }); $this->assertInstanceOf('Closure', $route->getCallback()); }
/** * Get and serve the controller * * @param Route $route * @return mixed * @throws \Exception */ public function dispatch(Route $route) { $callback = $route->getCallback(); $params = array_values($route->getData()); if ($callback instanceof Closure) { return $this->container->resolveClosure($callback, $params); } $class = $this->container->make($callback[0]); return $this->container->resolveMethod($class, $callback[1], $params); }