dash = $dashController; $this->gate = $authController; $this->theme = $themeController; $this->front = $frontController; $this->member = $memberRepo; } public function get($first = null, $second = null, $third = null, $fourth = null) { if (isset($first) && !is_numeric($first)) { switch ($first) { case 'dashboard': if ($this->member::status()) { return $this->dash->init($second, $third, $fourth); } else { return $this->dash->login(); } break; case 'theme': if ($this->member::status()) { if (isset($second)) { return $this->theme->getView($third, $fourth); } else { return $this->theme->start(); } } else { return $this->dash->login(); } break; case 'tags': case 'archives': return $this->front->page($first, $second, $third); break; } } else { return $this->front->index($first, $second, $third); } } public function post(Request $request) { switch ($request->path()) { case 'login': return $this->gate->enter($request); break; } } }