Intereting Posts
Должны ли зависимости автоматически удаляться с диска после установки / обновления с помощью Composer? Как установить правильный код базы данных codeigniter? Удалите белый фон с изображения и сделайте его прозрачным с помощью PHP Сломанное изображение из данных blob PHP? PDO подготовил инструкции для хранения содержимого html Автоматическое обновление этого столбца после 24:00 (0.00 AM) с помощью PHP? Значение переменной Javascript \ textarea для переменной PHP Невозможно вставить данные в базу данных через php-файл в android Laravel тот же маршрут, другой контроллер PHP oci_connect () TNS: не удалось разрешить идентификатор соединения (ORA-12154) PHP PDO не генерирует исключение при дублировании ключевой вставки CodeIgniter / PHP Active Record не будет увеличивать целое число Выберите случайные строки из таблицы mysql PHP получает значения с другой страницы Каков наилучший способ переместить файлы с одного сервера на другой с помощью PHP?

Как иметь eclipse разрешать php-классы в пространстве имен MongoDB \ BSON?

После того, как многие приходят и уходят, мне удалось установить драйвер MongoDB для PHP 5.6 и заставить его работать на OSX El Capitan. (То, как это работало, было использование Homebrew )

Чтобы начать работу над проектом, я создал папку для проекта и, используя Composer, установил нужные мне пакеты. Между этими пакетами мне нужен mongodb / mongodb, который является рекомендуемой библиотекой phon mongo для использования в php Manual on line и на странице github драйвера .

Я обнаружил, что Eclipse разрешает классы в пространстве имен \ MongoDB \, но не в пространстве имен \ MongoDB \ BSON \. Если я проверю, какой Composer установлен в папке поставщика, я вижу, что классы \ MongoDB \ BSON \ на самом деле отсутствуют. С другой стороны, если я запустил программу на веб-сервере с включенным PHP, он будет выполняться, как ожидалось.

Поэтому мой вопрос заключается в том, как это сделать или чего мне не хватает для Eclipse, чтобы найти недостающие классы. Определены ли они где-то еще?

Если это невозможно, потому что они скомпилированы в двоичную библиотеку, и у меня нет способа их разрешить. Есть ли способ, чтобы Eclipse не показывал эти конкретные классы как ошибки?

Пример класса, который работает нормально на веб-сервере, но выделен как ошибка в Eclipse:

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

Читая этот пост и не обнаруживая ничего нового по этому вопросу, я пришел к выводу, что разработчики драйвера не предоставляют источники php и оставляют его разработчикам IDE для предоставления STUB для разных fuctions драйвера таким образом, что IDE могут распознавать функции и обеспечивать всплывающие окна синтаксиса и документирования.

Следуя этому вопросу , я, наконец, обнаружил JetBrains GitHub, где есть много разных заглушек для PHPStrom, это один из них.

Поэтому я скопировал файл и добавил его в свой проект как часть источников. И это решило мою проблему.