Проблема, с которой я столкнулся, заключается в следующем
syscore::db(): The Mongo class is deprecated, please use the MongoClient class in /Users/russellharrower/www/bootstrap.localhost/system/core.php on line 11
Проблема в том, что я смог заставить его работать по-старому, и все же он говорит, что это неправильно. Как никто другой имел эту проблему.
вот как я называю связь.
class syscore{
static public $_db;
public static function db()
{
if (!static::$_db) {
static::$_db = new MongoClient("mongodb://russell.harrower:25s4e8r14gGSWS362gyuAQDR!!@localhost:27017/russellharrower");
}
$siteDB = SITEDB;
//return static::$_db->$siteDB;
}
}
Исключение, которое вы видите, не будет выдано из вставленного вами кода, поскольку вы явно используете MongoClient вместо устаревшего класса Mongo. Следующий автономный скрипт, состоящий из нескольких дополнений к предоставленному вами нефункциональному фрагменту, успешно выполняется и создает дамп объекта MongoDB без исключения:
<?php
define('SITEDB', 'foo');
class syscore {
static public $_db;
public static function db() {
if (!static::$_db) {
static::$_db = new MongoClient();
}
$siteDB = SITEDB;
return static::$_db->$siteDB;
}
}
var_dump(syscore::db());
Он должен произвести следующий вывод:
object(MongoDB)#2 (2) {
["w"]=>
int(1)
["wtimeout"]=>
int(10000)
}
Других решений пока нет …