Разница слэша и обратного слэша для 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');
→ Ссылка