2013-08-17 29 views
0

我爲我的Symfony項目使用了Elastica搜索引擎。使用「_」而不是「」調用Elastica類

現在,我得到下面的錯誤:

自動加載預期類 「Elastica_Query_Bool」 在 文件中定義 「/ blablabla /供應商/ ruflin /彈性彎曲/ lib目錄/彈性曲線/查詢/ Bool.php」。 找到該文件但該類不在其中,類名或 命名空間可能有錯字。

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

但我不明白爲什麼我現在得到一個錯誤。任何想法 ?

回答

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手冊命名空間。

+0

是的,它正在尋找這個類,它不存在,但它以前工作。更多的,我可以在Elastica上找到的所有示例都建議使用新的Elastica_Query_Bool()。那麼在Elastica捆綁包或最新版本的Symfony中可能會有所改變? – Mikolaj

+1

檢查Bool.php文件。它有名稱空間減速嗎?如果確實如此,則意味着它已從pre =命名空間版本升級。你一定在看老例子。 – Cerad

+0

這篇文章可能有幫助:http://richardmiller.co.uk/2011/11/11/symfony2-integrating-elasticsearch/ – Cerad

相關問題