Я настоятельно рекомендую вместо этого сделать следующее:
Бросьте все ваши классы в статический массив, className => filepath / classFile. Функция автоматической загрузки может использовать это для загрузки классов.
Это гарантирует, что вы всегда загружаете минимальное количество файлов. Это также означает, что вы избегаете совершенно глупых имен классов и разбора названных имен.
Если он медленный, вы можете включить некоторый ускоритель, и это принесет вам гораздо больше, если он все еще медленный, вы можете запустить процесс через процесс компиляции, где часто используемые файлы просто сбрасываются в общие файлы и ссылки автозагрузки могут быть обновлены, чтобы указывать на правильное место.
Если вы начинаете сталкиваться с проблемами, когда ваша автозагрузка идет слишком медленно, в которую я с трудом верю, вы можете разделить ее по пакетам и иметь несколько функций автозагрузки, таким образом, требуются только подмножества массива, это работает лучше всего, если ваши пакеты определены вокруг модулей вашего программного обеспечения (логин, администратор, электронная почта, ...)