@ildus91

Неработает автозагрузка классов php?

Здравствуйте.
Не работает автозагрузка классов. Как я понял ubuntu ругается на обратный слэш, так как в адресной строке файл открывается только при прямом слэше. а если его поставить в коде ругается php.

/home/i/www/site2.loc/classes\BookProduct.php
Warning: require_once(/home/i/www/site2.loc/classes\BookProduct.php): failed to open stream: No such file or directory in /home/i/www/site2.loc/index.php on line 13

Fatal error: require_once(): Failed opening required '/home/i/www/site2.loc/classes\BookProduct.php' (include_path='.:/usr/share/php') in /home/i/www/site2.loc/index.php on line 13

use classes\BookProduct;
use classes\NotebookProduct;
use classes\Product;
use classes\File;

function autoloader ($class)
{
	echo $file = __DIR__ . "/{$class}.php";
		require_once $file;
}
spl_autoload_register('autoloader');
$book = new BookProduct();
  • Вопрос задан
  • 312 просмотров
Решения вопроса 1
@ildus91 Автор вопроса
Заработало
$file = __DIR__ . '/' . str_replace("\\", "/", $class) . '.php';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Вот это "косая черта" (slash): /
Вот это "обратная косая черта" (backslash): \
А что такое "обратный бэкслэш"?

Почитайте о строках в php, о разнице двойных кавычек и одинарных, может еще и о экранировании.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы