Подтвердить что ты не робот

Использование нескольких автозагрузчиков php

Здравствуйте, я пытаюсь использовать микро-инфраструктуру SILEX вместе со своей собственной библиотекой, полной классов, и поэтому я застрял с двумя загрузчиками, что приводит к ошибке, которую загрузчик не может загружать классы. Есть ли способ использовать эти 2 одновременно без этой ошибки?

загрузчик, который я использую, вы можете найти ниже:

    <?php

/*
 * Loader
 */

function my_autoloader($className) 
{
// haal de base dir op.
  $base = dirname(__FILE__);


  // het pad ophalen
  $path = $className;

  // alle paden samenvoegen tot waar ik zijn moet en de phpfile eraan plakken.
  $file = $base . "/lib/" . $path . '.php';       

  // als file bestaat haal op anders error
  if (file_exists($file)) 
  {
      require $file;
  }
  else 
  {
      error_log('Class "' . $className . '" could not be autoloaded');
      throw new Exception('Class "' . $className . '" could not be autoloaded from: ' . $file); 
  }
}

spl_autoload_register('my_autoloader');

?>

загрузчик, который использует silex, находится в каталоге поставщика (из самой структуры)

и так выглядит мое файловое дерево:

filetree

4b9b3361

Ответ 1

Не допускайте ошибок в функциях автозагрузчика. spl_autoload_register позволяет php проходить через все зарегистрированные автозагрузчики по порядку, но если вы бросите непрошедшую ошибку в середине этого процесса, он не сможет попробовать следующий автозагрузчик.

http://php.net/spl_autoload_register