无法在Symfony2中加载第三方类

时间:2015-04-02 09:17:29

标签: php symfony solr solarium

我的主要问题是,我在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);

同样的错误。

1 个答案:

答案 0 :(得分:0)

使用时

php composer.phar install

它只安装存储在composer.lock中的包

你需要运行

php composer.phar update

安装新包。它还清除和预热symfony缓存和自动加载器