for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Mdiyakov\DoctrineSolrBundle\Query\Suggest\Solarium;
use Solarium\Core\Query\ResponseParser as ResponseParserAbstract;
use Solarium\Core\Query\ResponseParserInterface as ResponseParserInterface;
use Solarium\QueryType\Suggester\Result\Result;
class ResponseParser extends ResponseParserAbstract implements ResponseParserInterface
Solarium\Core\Query\ResponseParser
If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated annotation
ignore-deprecated
class ResponseParser extends /** @scrutinizer ignore-deprecated */ ResponseParserAbstract implements ResponseParserInterface
{
/**
* Get result data for the response
*
* @param Result $result
* @return array
*/
public function parse($result)
$data = $result->getData();
$query = $result->getQuery();
$suggestions = array();
if (isset($data['suggest']) && is_array($data['suggest'])) {
$suggestResults = $data['suggest'];
$termClass = $query->getOption('termclass');
foreach ($suggestResults as $dictionary => $termData) {
foreach ($termData as $term => $suggestionData) {
$suggestions[$dictionary][$term] = $this->createTerm($termClass, $suggestionData);
}
return $this->addHeaderInfo(
$data,
array(
'results' => $suggestions,
)
);
* @param $termClass
* @param array $suggestionData
* @return mixed
private function createTerm($termClass, array $suggestionData)
return new $termClass(
$suggestionData['numFound'],
$suggestionData['suggestions']