Composer - это менеджер зависимостей для PHP.
Только лишь потому, что вы не используете фреймворк, не значит, что необходимо изобретать колесо каждый раз, когда нужно что-то сделать. С помощью Composer вы можете устанавливать для своего приложения сторонние библиотеки.
Если вы еще не поставили Composer, перейдите по ссылке на сайт и сделайте это. Пакеты Composer для своего проекта вы найдете на Packagist.
Создайте новый файл в корневой папке проекта, назвав его composer.json. Это конфигурационный файл Composer'а, с помощью которого вы будете конфигурировать свой проект и его зависимости. Он должен содержать валидный JSON, иначе Composer выдаст ошибку.
Добавьте следующие строки в данный файл:
{
"name": "Project name",
"description": "Your project description",
"keywords": ["Your keyword", "Another keyword"],
"license": "MIT",
"authors": [
{
"name": "Your Name",
"email": "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.",
"role": "Creator / Main Developer"
}
],
"require": {
"php": ">=7.0.0"
},
"autoload": {
"psr-4": {
"Example\\": "src/"
}
}
}
В автозагрузочной (autoload) части видно, что я использовал пространство имен Example. Для своего проекта вы можете придумать что-то более подходящее, а я здесь и далее буду использовать Example в собственных примерах. Вы просто меняйте его на свой.
Откройте новое окно консоли, перейдите в папку проекта и запустите composer update
.
Composer создаст файл composer.lock, который заблокирует ваши зависимости и папку vendor.
Отправка файла composer.lock в систему контроля версий обычно хорошая практика. Она позволяет инструментам непрерывного тестирования (вроде Travis CI) запускать тесты с теми же самыми версиями библиотек, которые вы использовали при разработке. Также все люди, работающие над проектом будут работать с одними и теми же версиями, что исключит возникновение проблемы "фурычит только на моей машине".
Как уже говорилось, мы не хотим, чтобы код зависимостей размещался в нашем репозитории, так что добавим правило в наш файл .gitignore:
vendor/
На данный момент вы успешно создали пустую площадку для установки своего проекта.