【发布时间】:2017-07-26 02:21:59
【问题描述】:
经过多次来来去去,我设法安装了 PHP 5.6 的 MongoDB 驱动程序,并使其在 OSX El Capitan 上运行。 (它的工作方式是使用 Homebrew)
为了开始一个项目,我为项目创建了文件夹,并使用 Composer 安装了我需要的所需包。在这些包之间,我需要 mongodb/mongodb 这是推荐的mongo php library 供the php Manual 在线和the driver github page 使用。
我发现的问题是 Eclipse 正在解析 \MongoDB\ 命名空间中的类,而不是 \MongoDB\BSON\ 命名空间中的类。如果我检查 vendor 文件夹中安装的 Composer 的内容,我可以看到 \MongoDB\BSON\ 类实际上丢失了。另一方面,如果我在包含 PHP 的网络服务器中运行程序,它会按预期执行。
所以我的问题是如何让 Eclipse 找到丢失的类,或者我缺少什么。它们是在其他地方定义的吗?
如果这是不可能的,因为它们被编译成二进制库并且我无法解决它们,有没有办法让 Eclipse 不将这些特定类显示为错误?
在网络服务器中运行正常但在 Eclipse 中突出显示为错误的类示例:
$fecha_creacion = new MongoDB\BSON\UTCDateTime();
【问题讨论】:
-
你能在你的项目文件夹中搜索 MongoDB\BSON 吗?它可能在另一个包中 - 不是您正在查看的包,并且 eclipse 没有将封闭文件夹识别为 PSR 命名空间根目录。
-
供应商文件夹结构良好,我检查了 mongodb 文件夹,这些类不存在。
-
是的。另一个文件夹,甚至可能在供应商树之外,也完全有可能拥有这些文件。我只是建议在你的所有项目文件中搜索 BSON 命名空间,看看它是否在你(和 eclipse)不期望的地方。
标签: php mongodb-php