Ответ
Флаг --dev (или его отсутствие) в Composer управляет установкой зависимостей, указанных в разделе require-dev файла composer.json. Эти зависимости обычно включают инструменты для разработки и тестирования, которые не требуются в production-окружении.
Структура composer.json:
{
"require": {
"symfony/http-kernel": "^6.0",
"doctrine/orm": "^2.0"
},
"require-dev": {
"phpunit/phpunit": "^9.0",
"symfony/var-dumper": "^6.0",
"roave/security-advisories": "dev-latest"
}
}
Команды и их поведение:
composer installилиcomposer install --dev— устанавливает ВСЕ зависимости, включаяrequire-dev(поведение по умолчанию для локальной разработки).composer install --no-dev— устанавливает ТОЛЬКО основные зависимости изrequire, игнорируяrequire-dev. Это используется на production-серверах для уменьшения размера vendor и ускорения autoload.composer update --dev— обновляет только dev-зависимости.composer update --no-dev— обновляет только основные зависимости.
Типичные dev-зависимости: инструменты тестирования (PHPUnit, Pest), статические анализаторы (PHPStan, Psalm), отладчики (Xdebug), фикстуры данных (Faker), и инструменты для код-стайла (PHP-CS-Fixer).