PHP PHP  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Composer и зависимости

Здесь нужно понимать, почему одна и та же команда даёт разные последствия в разработке и при выпуске. Сценарии охватывают ограничения версий, composer.lock, PSR-4, аудит зависимостей и воспроизводимую установку.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Отделяйте изменение набора зависимостей от установки уже зафиксированных версий. На тест отведено 70 минут.
Вопрос 1 из 25
Где должна находиться библиотека журналирования, используемая рабочим кодом?
JSONcomposer.json
{
  "require": {
    "php": "^8.2",
    "psr/log": "^3.0"
  },
  "require-dev": {
    "phpunit/phpunit": "^11.0"
  }
}
Вопрос 2 из 25
Что означает запись php: ">=8.2"?
JSONPHP
{
 "require": {"php": ">=8.2", "psr/log": "^3.0"}
}
Вопрос 3 из 25
Для чего предназначен раздел scripts?
JSONcomposer.json
{
  "scripts": {
    "test": "phpunit",
    "check": ["@test", "phpstan analyse"]
  }
}
Вопрос 4 из 25
Что неверно в хранении пароля репозитория прямо в composer.json?
Вопрос 5 из 25
Что проверит composer validate?
BashPHP
composer validate --strict
Вопрос 6 из 25
Какой диапазон обычно допускает ^2.3?
JSONcomposer.json
{
  "require": {
    "vendor/library": "^2.3"
  }
}
Вопрос 7 из 25
Зачем коммитить composer.lock у приложения?
BashКомандная строка
composer install --no-interaction --prefer-dist
Вопрос 8 из 25
Чем composer update отличается от composer install при наличии lock-файла?
Вопрос 9 из 25
После проверки зависимостей решили обновить только monolog/monolog вместе с пакетами, которые должны измениться из-за него. Какая команда минимизирует область пересчёта?
BashPHP
composer show monolog/monolog
composer outdated --direct
Вопрос 10 из 25
Почему ограничение "*" опасно для ключевой библиотеки?
Вопрос 11 из 25
Что делает composer dump-autoload -o?
BashКомандная строка
composer dump-autoload -o
Вопрос 12 из 25
Когда раздел autoload.files уместен?
JSONcomposer.json
{
  "autoload": {
    "files": ["src/functions.php"]
  }
}
Вопрос 13 из 25
Почему после добавления класса classmap может потребоваться dump-autoload?
Вопрос 14 из 25
Зачем в первой строке подключается vendor/autoload.php?
PHP
require dirname(__DIR__).'/vendor/autoload.php';
$app = new App\Kernel();
Вопрос 15 из 25
Чем classmap-authoritative отличается от обычной оптимизации?
Вопрос 16 из 25
Что показывает composer audit?
BashКомандная строка
composer audit --locked
Вопрос 17 из 25
Уязвимый пакет транзитивный. Как понять, кто его привёл?
BashPHP
composer why symfony/http-foundation
Вопрос 18 из 25
Почему нельзя без проверки применять composer update ко всему production-проекту?
Вопрос 19 из 25
Что сделать с давно заброшенной библиотекой, даже если уязвимость пока не опубликована?
Вопрос 20 из 25
Как безопаснее проверять новый выпуск зависимости?
Вопрос 21 из 25
Команда сообщает conflict. Что показывает composer why-not package 3.0?
BashPHP
composer why-not vendor/package 3.0
Вопрос 22 из 25
Почему наличие vendor в рабочем каталоге разработчика не доказывает корректность зависимостей?
BashКомандная строка
rm -rf vendor
composer install --no-dev --prefer-dist
Вопрос 23 из 25
Что полезно запускать в непрерывной проверке?
Вопрос 24 из 25
Что делает composer diagnose?
Вопрос 25 из 25
После install класс не найден только в production с --no-dev. Наиболее вероятная причина?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу