Моя главная проблема заключается в том, что у меня нет доступа к Solarium (сторонней библиотеке) в моем symfony2-проекте, и я не понимаю, почему.
У меня есть приложение symfony2 и я хочу написать свой собственный коннектор Solr. Поэтому я хочу использовать солярий. (ВАЖНО: я не хочу использовать другие комплекты для этого)
Сначала я установил его через композитор
"require": {
//...
"solarium/solarium": "3.3.0.x-dev"}
Тогда я позвонил:
php composer.phar install
php composer.phar update
Во-вторых, я создал новый каталог для моего соединителя в моем комплекте:
/ SRC / КОМПАНИЯ / ThatIsMyBundle / SolrSearch /
В этом каталоге находится мой класс SolrConnector.php
namespace COMPANY\ThatIsMyBundle\SolrSearch;
use Solarium\Client;
//use Solarium\Core\Client;
class SolrConnector {
private $solr_client;
function __construct($settings)
{
$solr_config = array(
'endpoint' => array(
'protokolldb' => array(
'host' => $settings['solrHost'],
'port' => $settings['solrPort'],
'path' => $settings['path'],
'core' => $settings['core'],
'timeout' => $settings['timeout']
)
)
);
$this->solr_client = new Client($solr_config);
}
/**
* Check if Solr is on.
*/
function executePing() {
$ping = $this->solr_client->createPing();
try {
$this->solr_client->ping($ping);
echo "Solr is fine.\n";
} catch (Exception $e) {
echo "Solr is unaccessible. Look up whats wrong with Solr and restart this script.\n ".$e->getMessage();
}
}
}
Я получил это сообщение об ошибке от Symfony:
Попытка загрузить класс «Клиент» из пространства имен «Солярий» в «(мой
конкретный путь к проекту) /SolrSearch/SolrConnector.php строка 32. «Вам нужно« использовать »его из другого пространства имен?
Что мне нужно сделать, чтобы использовать Solarium в моем наборе Symfony2?
Я думаю, что это проблема пространства имен / использования / требования.
Я гуглил это часами … без решения.
Вещи, которые я попробовал:
добавление
require('../vendor/autoload.php);
та же ошибка.
Когда вы используете
php composer.phar install
он только устанавливает пакеты, хранящиеся в composer.lock
Вам нужно бежать
php composer.phar update
установить новые пакеты. Также очищается и прогревается кеш Symfony и автозагрузчик
Других решений пока нет …