我的主要问题是,我无法在我的 symfony2 项目中访问 Solarium(第三方库),我不明白为什么。我有一个 symfony2 应用程序并想编写自己的 Solr 连接器。因此我想使用日光浴室。(重要提示:我不想为此使用其他捆绑包)
首先我通过作曲家安装它
"require": {
//...
"solarium/solarium": "3.3.0.x-dev"
}
然后我打电话给:
php composer.phar install
php composer.phar update
其次,我在我的包中为我的连接器创建了一个新目录:
/src/COMPANY/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”加载类“Client”。您是否需要从另一个命名空间“使用”它?
我必须做什么才能在 Symfony2 Bundle 中使用 Solarium?我认为这是一个命名空间/使用/要求问题。我用谷歌搜索了几个小时......没有解决方案。
我尝试过的事情:
添加
require('../vendor/autoload.php);
同样的错误。