AnrDaemon
Продвинутый новичок
Загрузчик активируется как-то так:
Т.е. сначала выполняется дефолтный spl_autoload() потом кастомный.
Есть два класса:
Ситуация:
При создании actor(), на case-sensitive FS, загрузчик выполянется дважды. Если FS case-insensitive, загрузчик выполняется один раз, а абстрактный класс, видимо, подхватывается стандартным из-за смены текущего каталога.
Сижу, чешу затылок.
Менять порядок загрузки на prepend вроде смысла большого нет. Работает как надо… пока. Но потенциально, это опасная штука, так как вносит неоднозначность в поиск классов для загрузки.
Какие мнения у сообщества?
PHP:
function ldbwrapper_autoload($name)
{
fwrite(STDERR, "$name\n");
if(stripos($name, 'Ldb') === 0)
{
$_f = __DIR__ . "/Ldb/{$name}.php";
fwrite(STDERR, "$_f\n");
$result = include $_f;
// $result = include __DIR__ . "/Ldb/{$name}.php";
}
}
if(spl_autoload_functions() === false)
spl_autoload_register();
spl_autoload_register('ldbwrapper_autoload');
Есть два класса:
PHP:
abstract class LdbWrapper{};
PHP:
class LdbActor extends LdbWrapper{};
При создании actor(), на case-sensitive FS, загрузчик выполянется дважды. Если FS case-insensitive, загрузчик выполняется один раз, а абстрактный класс, видимо, подхватывается стандартным из-за смены текущего каталога.
Сижу, чешу затылок.
Менять порядок загрузки на prepend вроде смысла большого нет. Работает как надо… пока. Но потенциально, это опасная штука, так как вносит неоднозначность в поиск классов для загрузки.
Какие мнения у сообщества?