Подключаем классы разным макаром (PHP)

Что-то давненько мы здесь не занимались глупостями.

Сегодня мы будем проводить тесты со всеми возможными нарушениями их чистоты и нагло манипулировать статистикой.

Вопрос: как правильно подключать в своём проекте классы, чтобы при этом сэкономить время на их подключение.

Варианты:

  • Старый добрый autoload(), как у всех нормальных людей.
  • Взять и собрать все классы в один файл, как многие учат.
  • Подключать нужные классы явно через require_once().
  • И новомодная штучка: Phar-архив.
  • Phar-архив ещё можно делать не простой, а со сжатием (GZ или BZ2).
  • Ну и phar’ом также два варианта: autoload() или прямое подключение вложенных файлов.
  • И поверх этого можно акселератором каким-нибудь пошаманить.

Остальной текст под катом

Автолоад без __autoload

Функция __autoload(), как все знают, очень полезна. Её появление в PHP5 значительно упростило всем жизнь. А появление spl_autoload_register() упростило ещё больше.

Однако, не всё с ней здорово. При достаточно разветвлённой системе классов, приходится создавать весьма сложные алгоритмы поиска файлов, которые к тому же существенно замедляют работу. Однако, во многих случаях можно сделать автоподгрузку описаний классов и без __autoload().

Остальной текст под катом