Разница слэша и обратного слэша для include (PHP)
Автозагрузка классов в PHP:
function autoloadMainClasses($class_name){
$class_name = str_replace('\\','/',$class_name);
include_once $class_name . '.php';
}
spl_autoload_register('autoloadMainClasses');
Вопрос, а собственно надо ли менять обратный слэш на обычный, если и без этого include работает?
Ответы (1 шт):
Автор решения: Neolot
→ Ссылка
Заменять не обязательно, так как Windows понимает оба разделителя, достаточно использовать в коде разделитель Linux.
Однако важно учитывать тип разделителя, так как все функции, отдающие путь (вроде realpath), отдают его с специфичными для операционной системы разделителями.
Также при обработке путей удобно использовать константу DIRECTORY_SEPARATOR. Она содержит разделитель пути для текущей операционной системы.
Например, в вашем случае код может быть таким, но только если не использовали обратные слэши:
function autoloadMainClasses($class_name){
$class_name = str_replace('/', DIRECTORY_SEPARATOR, $class_name);
include_once $class_name . '.php';
}
spl_autoload_register('autoloadMainClasses');