addRoute(Route::GET, $route, array_merge($handler, ['actionIndex']), $filters); $this->addRoute(Route::GET, $route . '/{id}', array_merge($handler, ['actionView']), $filters); $this->addRoute(Route::POST, $route, array_merge($handler, ['actionStore']), $filters); $this->addRoute(Route::DELETE, $route, array_merge($handler, ['actionDelete']), $filters); return $this->addRoute(Route::ANY, $route . '/update/{id}', array_merge($handler, ['actionEdit']), $filters); } public function gridView($route, $handler, array $filters = []): CgRouteCollector { $this->addRoute(Route::GET, $route, array_merge($handler, ['actionIndex']), $filters); $this->addRoute(Route::GET, $route . '/{id}', array_merge($handler, ['actionView']), $filters); $this->addRoute(Route::ANY, $route . '/create', array_merge($handler, ['actionStore']), $filters); $this->addRoute(Route::POST, $route . '/delete', array_merge($handler, ['actionDelete']), $filters); return $this->addRoute(Route::ANY, $route . '/update/{id}', array_merge($handler, ['actionEdit']), $filters); } public function rest($route, $handler, array $filters = []): CgRouteCollector { $this->addRoute(Route::GET, $route, array_merge($handler, ['actionIndex']), $filters); $this->addRoute(Route::GET, $route . '/{id}', array_merge($handler, ['actionView']), $filters); $this->addRoute(Route::POST, $route . '/', array_merge($handler, ['actionStore']), $filters); $this->addRoute(Route::DELETE, $route . '/delete', array_merge($handler, ['actionDelete']), $filters); return $this->addRoute(Route::ANY, $route . '/update/{id}', array_merge($handler, ['actionEdit']), $filters); } public function authorization($route, $handler, array $filters = []) { //TODO } public function exclude($action) { //TODO } /** * @param $route * @param $handler * @param array $filters * @param array $additionalInfo * @return void */ public function console($route, $handler, array $filters = [], array $additionalInfo = []): void { $additionalInfo['type'] = "console"; $this->addRoute(Route::GET, $route, $handler, $filters, $additionalInfo); } }