2017-07-26 50 views
1

很多來來去去,我設法安裝PHP 5.6的MongoDB驅動程序,並使其在OSX El Capitan上工作。 (它的工作方式是使用自制如何讓eclipse在MongoDB BSON命名空間中解析php類?

要開始工作,我創建的文件夾,該項目一期工程,並使用作曲家安裝我需要所需的軟件包。 theese包之間我需要的mongodb /的MongoDB這是recomended mongo php library通過the php Manual上線和the driver github page使用。

我發現的問題是,Eclipse正在解決該\ MongoDB的\命名空間中的類,但不是在\ MongoDB的\ BSON \命名空間。如果我檢查什麼作曲安裝在廠商文件夾中我能看到\ MongoDB的\ BSON \類實際上丟失。另一方面,如果我在PHP包含的網絡服務器上運行該程序,它會按預期執行。

所以我的問題是怎麼做或者我是什麼失蹤Eclipse來尋找失蹤的類。他們是否定義在其他地方?

如果因爲他們被編譯成二進制庫,我也沒有辦法來解決這些問題,這是不可能的,有什麼辦法使Eclipse沒有顯示這些特定類別的錯誤呢?

類的實例運行在Web服務器確定,但強調指出,在Eclipse中的錯誤:

$fecha_creacion = new MongoDB\BSON\UTCDateTime(); 
+0

你可以搜索MongoDB \ BSON的項目文件夾嗎?它可能位於另一個包中 - 不是您正在查找的包,而eclipse不會將封閉的文件夾識別爲PSR名稱空間根。 – RichGoldMD

+0

供應商文件夾結構良好,我檢查了mongodb文件夾,這些類不在那裏。 – Juan

+0

是的。對於另一個文件夾(甚至可能位於供應商樹之外)完全有可能擁有這些文件。我只是建議搜索BSON命名空間的所有項目文件,以查看它是否存在您(和eclipse)不期望的地方。 – RichGoldMD

回答

1

閱讀this post並沒有找到在我到達的結論標的任何更新的驅動程序的開發人員不要提供PHP源代碼,並讓IDE開發人員以IDE的方式識別功能並提供語法檢查和文檔彈出窗口,爲驅動程序的不同功能提供STUB。

繼此question後,我終於找到了一個JetBrains GitHub,其中有許多不同的存根用於PHPStrom,這其中有one

所以我複製的文件,並把它添加到我的項目爲一體的來源的一部分。這解決了我的問題。

+0

感謝您回覆並回答您自己的問題,它真的幫助我。 –