ddimonn8080
@ddimonn8080

Как исключить подключение файла?

Здравствуйте, есть класс для работы с базой данных
<?php
namespace model;
include_once 'config.php';


class Database
{
	private $host = HOST;
    private $user = USER;
    private $pass = PASS;
    private $database = DATABASE;
    private $db = NULL;
    private $sl = NULL;
    public $result = NULL;
    public $query = NULL;
    
    public function __construct()
    {
        $this->db = new mysqli(HOST, USER, PASS, DATABASE);
        if(!$this->db){
            echo "Невозможно установить соединение с базой данных<br/>Код ошибки:<br/>";
        	exit(mysql_error());
        }
        else
        {
        	mysqli_set_charset($this->db, 'utf8');
        }
    }
}

И есть функция __autoload
define('DIRSEP', DIRECTORY_SEPARATOR);

function __autoload($class_name) {
	$class_peaces = explode('\\', $class_name);

	switch ($class_peaces[0]) {
		case 'model':

					$dirpath = ROOT . DIRSEP . implode(DIRSEP, $class_peaces) . '.php';
					require_once $dirpath;
					break;
	}
}


Проблема в том что при подключении файла с классом Database($db = new model\Database();)
пытается автоматически подключить также класс mysqli.php

Warning: require_once(W:/domains/testPHPoop\model\mysqli.php): failed to open stream: No such file or directory in W:\domains\testPHPoop\functions.php on line 15

Fatal error: require_once(): Failed opening required 'W:/domains/testPHPoop\model\mysqli.php' (include_path='.;w:/modules/php/PHP-5.4;w:/modules/php/PHP-5.4/PEAR/pear') in W:\domains\testPHPoop\functions.php on line 15

Как избежать подключения этого несуществующего файла?

Спасибо
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
evgeniy2194
@evgeniy2194
PHP, js developer
$this->db = new \mysqli(HOST, USER, PASS, DATABASE);

У вас указан namespace model, и скрипт пытается найти класс model\mysqli. Поэтому вам нужно загружать mysqli с глобального пространства имен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы