使用“_”而不是“\”调用Elastica类

时间:2013-08-17 22:50:57

标签: php symfony elastica

我正在为我的Symfony项目使用Elastica搜索引擎。

现在,我收到以下错误:

  

要定义的自动加载器期望类“Elastica_Query_Bool”   文件   “/blablabla/vendor/ruflin/elastica/lib/Elastica/Query/Bool.php”。   找到了该文件,但该类不在其中,类名或   命名空间可能有拼写错误。

如果我在我的php文件中为new \Elastica_Query_Bool()更改new \Elastica\Query\Bool(),它可以正常工作。

但我无法理解为什么我现在收到错误。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

因为当你新建一个Elastica_Query_Bool时,它正在寻找一个实际上叫做Elastica_Query_Bool的类。当然,实际的班级叫做Bool。

尝试:

use Elastica\Query\Bool; // At the top of your file following the namespace line.
...
$bool = new Bool();

可能希望在php手册中查看名称空间。