我的主要问题是,我在symfony2项目中无法访问日光浴室(第三方图书馆),我不明白为什么。 我有一个symfony2应用程序,想要编写我自己的Solr连接器。因此我想使用日光浴。 (重要提示:我不想使用其他捆绑包)
首先我通过composer
安装它"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收到此错误消息:
尝试加载课程"客户"来自命名空间"日光浴" in"(我的 项目的具体路径)/SolrSearch/SolrConnector.php第32行。" 你需要"使用"它来自另一个命名空间?
在Symfony2 Bundle中使用日光浴需要做些什么? 我认为这是一个名称空间/使用/需求问题。 我用谷歌搜索了几个小时......没有解决方案。
我尝试的事情:
添加
require('../vendor/autoload.php);
同样的错误。
答案 0 :(得分:0)
使用时
php composer.phar install
它只安装存储在composer.lock中的包
你需要运行
php composer.phar update
安装新包。它还清除和预热symfony缓存和自动加载器