2016-03-23 5 views
1

Я пытаюсь использовать Elasticsearch через PHP API в symfony. Я установил Elasticsearch через composer.Неустранимая ошибка: Class '..' not found

Это мой код, который в настоящее время называется:

<?php 

namespace AppBundle\ElasticsearchQuery; 
use Elasticsearch\ClientBuilder; 

class ElasticsearchQuery 
{ 
private $Host = ['http://localhost:9200']; 
private $client; 
private $index = "homestead"; 

public function __construct() 
{ 
    $this->client = Elasticsearch\ClientBuilder::create() 
     >setHosts($Host)->build(); 
} 

public function execute($verb, $params) 
{ 
    switch ($verb) { 
    case "create": 
     $response = $client->index($params); 
     break; 
    case "read": 
     $response = $client->get($params); 
     break; 
    case "search": 
     $response = $client->search($params); 
     break; 
    case "delete": 
     $response = $client->delete($params); 
     break; 
    } 
} 
} 

и ошибка я получаю:

Fatal error: Class 'AppBundle\ElasticsearchQuery\Elasticsearch\ClientBuilder' not found

Я не хочу, чтобы искать Elasticsearch в моем AppBundle, я хочу это искать его у продавцов. Как это сделать?

Редактировать: using use \ Elasticsearch \ ClientBuilder; или Elasticsearch \ ClientBuilder :: Create() не делает никакой разницы

+1

Да, извините, я получил это _exactly_ неправильно в первый раз ;-) – VolkerK

ответ

3
$this->client = Elasticsearch\ClientBuilder::create() 

Это должно быть либо

$this->client = \Elasticsearch\ClientBuilder::create() 

или (так как вы уже импортировали этот класс в пространстве имен)

$this->client = ClientBuilder::create() 
+0

Я отредактировал мой код как .... использование \ Elasticsearch \ ClientBuilder; ... $ this-> client = ClientBuilder :: create() -> setHosts ($ host) -> build(); , но я все еще получаю сообщение об ошибке: Фатальная ошибка: Вызов неопределенной функции AppBundle \ ElasticsearchQuery \ setHosts() – SnelleJelle

+0

тока: https://i.imgur.com/6YYEOLs.jpg – SnelleJelle

+1

Вы пропускаете '- '. '-> setHosts', а не'> setHosts'. – VolkerK