0Pricing
PHP Academy · Урок

Скрипты Composer и автозагрузка

Определяйте скрипты в composer.json и включайте автозагрузку классов

«Скрипты Composer и автозагрузка» — бесплатный урок PHP Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Сценарии в composer.json

Ключ scripts определяет именованные команды оболочки, которые запускаются через composer run-script NAME или просто через composer NAME.

Определение сценария

Сценарии представляют собой массивы команд оболочки или обратных вызовов статических методов PHP.

// composer.json
{
  "scripts": {
    "test": "vendor/bin/phpunit",
    "lint": "vendor/bin/phpcs src/",
    "cs-fix": "vendor/bin/phpcbf src/"
  }
}

Запуск сценариев

Выполните сценарий, указав после composer его имя в сокращённой форме.

$ composer test
$ composer run-script lint

Сценарии на основе событий

Composer вызывает события жизненного цикла, к которым можно привязать обработчики: post-install-cmd, post-update-cmd, post-autoload-dump.

// composer.json
{
  "scripts": {
    "post-install-cmd": ["php artisan migrate --force"]
  }
}

Объединение сценариев

Сошлитесь на другой сценарий с помощью @script-name внутри массива сценариев.

// composer.json
{
  "scripts": {
    "build": ["@lint", "@test"]
  }
}

Типы ключа автозагрузки

Раздел autoload поддерживает три типа: psr-4, classmap и files.

// composer.json
{
  "autoload": {
    "psr-4":    { "App\\": "src/" },
    "classmap": ["database/"],
    "files":    ["src/helpers.php"]
  }
}

autoload-dev

autoload-dev добавляет правила автозагрузки только для локальной среды и среды тестирования — например, для базовых классов тестов, которые не должны поставляться вместе с пакетом.

Оптимизация автозагрузчика

Выполните composer dump-autoload --optimize (или -o), чтобы создать статическую карту классов для более быстрого разрешения классов. Это особенно полезно в рабочей среде.

--classmap-authoritative

composer dump-autoload -a ищет только в карте классов и никогда не использует запасной вариант со сканированием файловой системы PSR-4. Используйте этот режим, если все классы сопоставлены.

Кэш APCu

composer dump-autoload --apcu использует APCu для кэширования сопоставлений классов и файлов в памяти между запросами — это значительно ускоряет работу загруженных серверов.

Практическая настройка сценариев CI

Типичные сценарии проекта: test, cs (стандарты оформления кода), analyse (PHPStan/Psalm), build (объединяет все три).

Итоги

Сценарии Composer автоматизируют повторяющиеся задачи. Раздел автозагрузки связывает пространства имён с файлами. Используйте dump-autoload -o в рабочей среде для максимальной производительности.

Быстрая проверка

Какое событие срабатывает после завершения «composer install»?

Часто задаваемые вопросы

Урок «Скрипты Composer и автозагрузка» бесплатный?

Да — полный текст урока «Скрипты Composer и автозагрузка» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Скрипты Composer и автозагрузка»?

Определяйте скрипты в composer.json и включайте автозагрузку классов Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Скрипты Composer и автозагрузка»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Установка и инициализация Composer
  2. Подключение и обновление пакетов
  3. Знакомство с composer.lock
  4. Скрипты Composer и автозагрузка
← Назад к PHP Academy