From 3c9c53e04d2a6e7c7dc53733746f72c122c92c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 15 Mar 2016 14:01:24 +0100 Subject: [PATCH] DOCUMENTATION: add documentation for Search controller --- app/Http/Controllers/Admin/Search.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/Http/Controllers/Admin/Search.php b/app/Http/Controllers/Admin/Search.php index 744e561d..6250e8a3 100644 --- a/app/Http/Controllers/Admin/Search.php +++ b/app/Http/Controllers/Admin/Search.php @@ -2,13 +2,21 @@ namespace App\Http\Controllers\Admin; +use App\Handlers\Contracts\SearchHandler; +use App\Handlers\Contracts\SearchPresenterHandler; use App\Http\Controllers\Controller; use App\Http\Requests; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Input; +use Symfony\Component\Process\Exception\InvalidArgumentException; class Search extends Controller { + /** + * Create form for searching + * + * @return $this|\Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ public function getSearch() { $results = []; @@ -28,6 +36,15 @@ class Search extends Controller return view('admin.search.page', ['search' => $term, 'results' => $results]); } + /** + * Method used for performing search. + * + * This method iterates over all registered search engines and returns results for each engine apart. + * + * @param string $term search text + * + * @return array array of results. One item per each engine + */ protected function performSearch($term) { $engines = App::make('registerSearchEngine') @@ -35,10 +52,17 @@ class Search extends Controller $resultsParts = []; foreach ($engines as $engine) { + /** + * @var SearchHandler $search + * @var SearchPresenterHandler $presenter + */ + list ($search, $presenter) = $engine; + // try to find given term $results = $search->search($term); + // create result object $resultsParts[$search->getId()] = [ 'name' => $search->getName(), 'content' => $presenter->render($results),