Ответ 1
По умолчанию PHP попытается загрузить классы из вашего текущего пространства имен. Обратитесь к классу в глобальном пространстве имен:
$db = new \mysqli(/* ... */);
Это то же самое, что вы делали бы при обращении к классу в другом пространстве имен:
$foo = new \Some\Namespace\Foo();
Обратите внимание, что если вы остановили начальную обратную косую черту, PHP попытается загрузить класс относительно вашего текущего пространства имен. Следующий код будет выглядеть в пространстве имен Project\Some\Namespace
для класса с именем Foo
:
namespace Project;
$foo = new Some\Namespace\Foo();
В качестве альтернативы вы можете явно импортировать пространства имен и сэкономить двусмысленность:
namespace Project;
use Mysqli;
class ProjectClass
{
public static function ProjectClassFunction()
{
$db = new Mysqli(/* ... */);
}
}