Привет всем)) подскажите как правильно сделать..
есть автозагрузка
spl_autoload_register(function($className) {
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = DIRECTORY_SEPARATOR . str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
$fileName = __DIR__ . $fileName;
if (file_exists($fileName)) {
var_dump($fileName);
require $fileName;
}
});
есть файл в проекте /models/File.php
namespace models;
class File {
.....
}
есть еще один файл /vendors/core/models/File.php
namespace models;
class File {
.....
}
как правильно обращаться к второму файлу, при том что namespace у него должен быть относительный а не абсолютный.. первый работает зашибись.. второй инклудится в автозагрузке... но пхп не видит его как класс.. везде где читаю - везде в общем.. а вот как такое решение сделать - не могу найти.. может гуглю не правильно..
пытался через class_alias - не помогло
отключил автозагрузку и просто пытался сделать вот так вот ради интереса
$file = include __DIR__ . '\vendor\core\models\File.php';
var_dump($file); //int 1
$file = new File;
тоже не помогло.. как только из файла удаляю namespace или дополняю его полным путем - все работает.. а мне надо что бы там был относительный путь.. потому что этот файл может обновляться..
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости