В PHP, как я могу проверить, существует ли класс?

Так что у меня есть такая функция структуры в основном классе

function __construct(){
$this->conf = $GLOBALS['conf'];
$this->dbi = new dbinfo;
$this->modOpt = new modOptions;
$this->lang = new language;

/** Connect DB extended Class **/
parent::__construct($GLOBALS['connect']);
}

где я определяю классы, но эти классы находятся в библиотечном файле, который включен в начало файла, кроме одного, который включается, когда пост-запрос будет выглядеть так:

if (isset($_POST['delGroup']) && isset($_SESSION['content_viewer']) && $_SESSION['content_viewer']['code'] >= 1){
include_once(realpath(dirname(__FILE__) . '/../..')."/mod/dbinfo/proc.php");
}

так что я хочу добавить проверку в моей функции конструкции для класса dbinfo, как это

function __construct(){
$this->conf = $GLOBALS['conf'];
if (isset(new dbinfo))
$this->dbi = new dbinfo;

$this->modOpt = new modOptions;
$this->lang = new language;

/** Connect DB extended Class **/
parent::__construct($GLOBALS['connect']);
}

но этот метод с if isset не работает, пожалуйста, покажите мне правильный способ, как проверить, существует ли класс в файл. Спасибо

1

Решение

Попробуйте использовать, class_exists() http://php.net/manual/en/function.class-exists.php

В твоем случае ищу dbinfo класс сделать это:

      if(class_exists('dbinfo')){
//do something

Если у вашего класса есть пространство имен, включите полное имя класса с пространством имен.

2

Другие решения

class_exists('class_name',false);

Задавать false в true если функция должна попробовать тоже загрузить класс.

1