Composer autoload и PSR-4. Правильная структура

Если ты перешел по этой статье, скорее всего ты знаешь что такое Composer autoload и PSR-4. Если по простому, то PSR-4 - это стандартизированная договоренность между разработчиками, чтобы каждый не изобретал велосипед. Если ты будешь использовать этот или другой стандарт, то ты можешь пользоваться автозагрузчиком от Composer.

Пример конфигурации Composer autoload в PSR-4

 { "autoload": { "psr-4": { "FLAMIX\\": "src/", "FLAMIX\\Local\\": "local/" } }
}

Важно помнить:

  • Двойной обратный слэш \\ нужен по правилам экранирования в JSON;
  • Нужно писать psr-4, а не PSR-4 или Psr-4. Т.е. регистр имеет значение;
  • Нужно указывать неймспейс и обязательно ставить обартый слэш (см. п. 1), иначе композер будет подключать все нейспейсы, имя которых начинается с указанного слова. Например, если написать FLAMIX, вместо FLAMIX\\, то будет попытка подключить все классы, неймспейс которых начинается на  FLAMIX, например FLAMIXTest или другие.

Какие файлы подключатся

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

FLAMIX\Main\Base -> src/Main/Base.php
FLAMIX\Main\Test -> src/Main/Test.php
#Правила для FLAMIX\Local
FLAMIX\Local\UI\Money -> local/Local/UI/Money.php
FLAMIX\Local\Test\Show -> local/Local/Test/Show.php

© Copyright 2009 - 2017. Программирование и верстка руками и с умом. ИТ-аутсорс для СНГ.

ИП Шкабко Роман, Код ЕДРПОУ: 34047020