/**
  * Get the API documentation object for this method
  * @return zibo\api\model\doc\Doc
  */
 public function getDoc()
 {
     if ($this->doc) {
         return $this->doc;
     }
     $docParser = ApiBrowser::getDocParser();
     $doc = $this->getDocComment();
     $this->doc = $docParser->parse($doc);
     return $this->doc;
 }
 /**
  * Action to perform a class search
  * @param string $searchQuery url encoded search query
  * @return null
  */
 public function searchAction($searchQuery = null)
 {
     $searchQuery = urldecode($searchQuery);
     $form = new SearchForm($this->searchAction, $searchQuery);
     if ($form->isSubmitted()) {
         $searchQuery = $form->getQuery();
         $this->response->setRedirect($this->searchAction . '/' . urlencode($searchQuery));
         return;
     } elseif (!$searchQuery) {
         $this->response->setRedirect($this->request->getBasePath());
         return;
     }
     $searchResult = $this->apiBrowser->getClassesForNamespace(null, true, $searchQuery);
     if (count($searchResult) == 1) {
         $searchResult = each($searchResult);
         $this->response->setRedirect($this->classAction . $searchResult['key']);
         return;
     }
     $namespaces = $this->apiBrowser->getNamespaces();
     $view = new SearchView($form, $namespaces, $this->namespaceAction, $this->classAction, $searchQuery, $searchResult);
     $view->setPageTitle(Module::TRANSLATION_API, true);
     $this->setBreadcrumbsToView($view);
     $this->response->setView($view);
 }