Так что у меня есть такая функция структуры в основном классе
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
не работает, пожалуйста, покажите мне правильный способ, как проверить, существует ли класс в файл. Спасибо
Попробуйте использовать, class_exists()
http://php.net/manual/en/function.class-exists.php
В твоем случае ищу dbinfo
класс сделать это:
if(class_exists('dbinfo')){
//do something
Если у вашего класса есть пространство имен, включите полное имя класса с пространством имен.
class_exists('class_name',false);
Задавать false
в true
если функция должна попробовать тоже загрузить класс.