我想將zend搜索集成到本地PHP項目中。我收到各種包含錯誤。本地PHP項目中的Zend搜索集成
我已經做了一些研究,似乎在zf2之前寫了很多關於它的舊文章。用zf1它過去很簡單。包括lucene.php就是這樣。
但是,自zf2發佈以來,搜索組件不再是zf2骨架的一部分,並且可以單獨下載。當我包含Lucene.php時,腳本明星抱怨缺少類。 (包括問題)
我應該包含所有文件還是應該使用某種自動裝載器?
我想將zend搜索集成到本地PHP項目中。我收到各種包含錯誤。本地PHP項目中的Zend搜索集成
我已經做了一些研究,似乎在zf2之前寫了很多關於它的舊文章。用zf1它過去很簡單。包括lucene.php就是這樣。
但是,自zf2發佈以來,搜索組件不再是zf2骨架的一部分,並且可以單獨下載。當我包含Lucene.php時,腳本明星抱怨缺少類。 (包括問題)
我應該包含所有文件還是應該使用某種自動裝載器?
開始通過確保你已經安裝了以下內容:
確保在命令行使用的php.ini中啓用了openssl。 (對於在windows上使用wamp的用戶,有兩個php ini文件,一個用於apache,另一個用於命令行)
啓動命令行並使用CD命令進入已解壓縮的目錄zend搜索並運行以下兩個命令:
curl -sh ** ps://getcomposer.org/installer | PHP
PHP composer.phar安裝
在同一目錄下創建一個PHP文件,包括.vendor/autoload.php
創建創建一個自動加載函數加載不同的庫。目前我已經寫了一些簡單的,如下:
功能自動加載($類名) {
$ PATH = __DIR。 DS。 「圖書館」.DS。 $ classname。 」。PHP的「;如果(file_exists($ PATH)) { require_once($ PATH);
}。 }
這應該加載不同類別提供,你知道他們的名字空間這是基本的自動加載磁帶機,不應該被用來
我一直在使用以下guide但是它過時,因爲類的名稱已被修改爲類似如下:
$ indexPath ='C:\ wamp \ www \ storage'; $ index = ZendSearch \ Lucene \ Lucene :: create($ indexPath);
$ doc = new ZendSearch \ Lucene \ Document(); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: UnIndexed('url', $ docUrl)); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: UnIndexed('created', $ docCreated)); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: UnIndexed('teaser', $ docTeaser)); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: Text('title', $ docTitle)); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: Text('author', $ docAuthor)); $ doc-> addField(ZendSearch \ Lucene \ Document \ Field :: UnStored('contents', $ docBody));
$ index-> addDocument($ doc); $首頁 - >提交();
您可以使用Composer來安裝單獨的ZF2軟件包,這將爲您處理任何自動加載和依賴關係。
https://github.com/zendframework/ZendSearch
你可以看到它也需要
zendframework/zend-stdlib
下載庫,然後用作曲家安裝,這也將獲得依賴你,並設置自動加載。
php composer.phar install