Dependency (Зависимость)
Dependency (Зависимость) (Dependency) — зависимость
Суть в одном предложении
Зависимость — связь «проект или класс нуждается в другом коде»: внешняя библиотека (пакет) или другой класс в том же проекте; управление зависимостями упрощают менеджер пакетов и автозагрузка.
Краткое определение
Dependency — потребность модуля или класса в другом коде. Внешние зависимости (библиотеки) задаются в composer.json и устанавливаются Composer. Внутренние (другие классы проекта) подгружаются по PSR-4 без ручных require.
Оригинал и перевод
- Язык: английский
- Оригинал: Dependency
- Буквальный перевод: зависимость
Синонимы и варианты написания
- Dependency, Dependencies
- Зависимость, зависимости проекта
Происхождение
Общепринятый термин в разработке и архитектуре. «Управление зависимостями» — одна из задач менеджера пакетов и автозагрузки.
Где используется
- composer.json (require, require-dev)
- Код: класс A использует класс B — B зависимость A
- CI/CD: установка зависимостей перед сборкой (composer install)
Когда это важно
При росте проекта ручное подключение каждой зависимости через require приводит к ошибкам и хаосу. Автозагрузка и Composer делают зависимости явными (описание в composer.json и use в коде) и автоматизируют подключение.
Подробное объяснение
Внешние зависимости: пакеты из Packagist, версии в composer.json. Внутренние: класс UserService зависит от Connection — в коде это выражается через use и тип в конструкторе; файл с Connection подгружается автозагрузчиком по namespace. Циклические зависимости (A → B → A) усложняют поддержку и могут вызывать ошибки.
Аналоги и связанные термины
- Composer — управляет внешними зависимостями в PHP
- Автозагрузка — подгружает классы-зависимости по имени
- Require/include — ручное подключение зависимости (антипаттерн при большом числе классов)
- Точка входа — место, где подключается автозагрузчик для разрешения зависимостей
Пример использования
«Добавили зависимость от библиотеки в composer.json, выполнили composer install — классы подхватываются автозагрузкой.»