symfony2.1 FOQElasticaBundle类加载

时间:2013-01-22 10:08:41

标签: php elasticsearch symfony-2.1 elastica

我按照https://github.com/Exercise/FOQElasticaBundle#readme设置了FOQElasticaBundle 使用git子模块安装Elastica和FOQElasticaBundle。

当我尝试app / console时,会出现错误The autoloader expected class "Elastica_Client" to be defined in file "/path/to/project/../vendor/elastica/lib/Elastica/Client.php". The file was found but the class was not in it, the class name or namespace probably has a typo.

我发现FOQ试图在vendor / elastica / lib / Elastica / Client.php中加载Elastica_Client类,并且从名为Client的类开始就找不到任何内容。

我随机浏览了弹性回复https://github.com/ruflin/Elastica/blob/v0.18.6.0/lib/Elastica/Client.php,并发现了 以前名为Elastica_Client的类。

问题是

  1. FOQElasticaBundle是否已过时,针对当前的Elastica库?
  2. 或者我的自动加载出了什么问题。 ps:我正在使用composer autoloader?
  3. 应用程序/ autoload.php

    $loader->add('Elastica', __DIR__.'/../vendor/elastica/lib');
    $loader->add('FOQ', __DIR__.'/../vendor/bundles');
    

1 个答案:

答案 0 :(得分:1)

FOQElasticaBundle安装步骤适用于Symfony 2.0

在SF2.1中,您必须使用composer安装捆绑包,因此只需将其添加到composer.json文件中:

"ruflin/elastica": "0.19.8" here an example

然后运行此命令:

composer update

最后一步是:

composer dumpautoload

最后一步为您生成自动加载文件