Данный код будто не воспринимает букву v перед слешем и вырезает ее вместе со слешем (\v)
$st = "data\valid";
print "
$st <br>
";
НО этот код работает корректно и ничего не вырезает, проблема лишь с буквой V.
$st = "data\alid";
print "
$st <br>
";
Эту проблему нашел в след. коде
public static function getLibPath($lib) {
$path = str_replace(DIRECTORY_SEPARATOR, '/', $lib);
$pathKey = explode('/', $path)[0];
if ($pathKey == 'module') {
return MODULE_DIR_PREFIX.substr($path, 7).'.php';
} else {
return LIBS_DIR.$path.'.php';
}
}
На вход функция принимает строку пространства имен класса-функции в данном случае:
data\valid::validEmail();
и генерирует полный путь до файла класса
LIBS_DIR содержит в себе путь до файла библиотек - /libs
Функция работоспособна если только на вход не попадает строка data\valid
код дебага:
$st = "data\alid";
$str = "data\valid";
print "
Input data: <b>data\alid</b>
<br>
result: $st
<br>
---------------------------
<br>
Input data: <b>data\valid</b>
<br>
result: $str;
";
РАЗОБРАЛСЯ - Это оказался unix символ \v