Download the PHP package it-nsk/dev-tools without Composer

On this page you can find all versions of the php package it-nsk/dev-tools. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dev-tools

dev-tools

Один репозиторий содержит две части:

Разработчик работает только с глобальной командой dev-tools. vendor/bin/dev-tools вызывается автоматически внутри app-контейнера.

Установка глобальной команды

Требуются Git, Docker с Compose plugin и curl. В app-образе должны быть установлены Zsh и Oh My Zsh для рабочего пользователя контейнера.

По умолчанию команда устанавливается в /usr/local/bin/dev-tools. Zsh completion устанавливается автоматически. После первой установки откройте новый терминал или выполните:

После этого dev-tools <Tab> показывает и дополняет доступные команды.

Обновление:

self-update обновляет одновременно CLI и его Zsh completion. В проектах для автодополнения ничего настраивать не нужно.

Подключение Composer-пакета

В composer.json проекта:

Пакет устанавливается командой composer install внутри app-контейнера. Отдельный VCS repository для него не нужен: релизы находятся в Packagist.

Файлы проекта

Обычно в .env.local.example достаточно:

Остальные значения имеют defaults: Compose-файл docker-compose.yml, сервис приложения app, сервис БД db, сеть proxy, MySQL root-пароль root, dump dump.sql.gz, Traefik в соседнем каталоге droxy.

Поддерживаемые переменные

Проектные переменные читаются сначала из .env, затем из .env.local. Переменная окружения процесса имеет наивысший приоритет.

Переменная Значение по умолчанию Назначение
DEV_TOOLS_COMPOSE_FILE docker-compose.yml Рабочий Compose-файл
DEV_TOOLS_COMPOSE_EXAMPLE docker-compose.example.yml Хранимый в Git шаблон Compose
DEV_TOOLS_APP_SERVICE app Сервис приложения
DEV_TOOLS_CONTAINER_SHELL zsh Оболочка для dev-tools sh
DEV_TOOLS_PROJECT_CONTAINER_DIR * Путь проекта внутри контейнера для Git safe.directory
DEV_TOOLS_PROXY_NETWORK proxy Общая Docker-сеть reverse proxy
DEV_TOOLS_TRAEFIK_CONTAINER traefik Имя контейнера Traefik
DEV_TOOLS_TRAEFIK_DIR ../droxy Каталог локального Traefik относительно проекта
DEV_TOOLS_TRAEFIK_REPOSITORY https://github.com/multifinger/droxy.git Репозиторий локального Traefik
DEV_TOOLS_DOMAIN пусто Основной локальный домен
DEV_TOOLS_PMA_DOMAIN пусто Локальный домен phpMyAdmin
DEV_TOOLS_DOMAINS основной домен и домен phpMyAdmin Полный список доменов для сертификата и /etc/hosts
DEV_TOOLS_SSL_CERT config/ssl/localhost.crt Путь к SSL-сертификату относительно проекта
DEV_TOOLS_SSL_KEY config/ssl/localhost.key Путь к приватному SSL-ключу относительно проекта
DEV_TOOLS_DUMP_HOST пусто SSH host для скачивания dump
DEV_TOOLS_DUMP_REMOTE_PATH пусто Удалённый путь или маска файлов dump
DEV_TOOLS_DUMP_FILE dump.sql.gz Локальный файл dump относительно проекта
DEV_TOOLS_DB_DRIVER mysql Драйвер БД; сейчас поддерживается MySQL
DEV_TOOLS_DB_SERVICE db Compose-сервис БД
DEV_TOOLS_DB_HOST localhost MySQL host внутри сервиса БД
DEV_TOOLS_DB_PORT 3306 MySQL port
DEV_TOOLS_DB_NAME пусто Имя локальной БД для импорта
DEV_TOOLS_DB_USER root Пользователь MySQL
DEV_TOOLS_DB_PASSWORD root Пароль MySQL
DEV_TOOLS_COMPOSER_SSH_HOST пусто SSH host для проверки доступа Composer к приватным пакетам

Служебные переменные установки и запуска задаются в окружении команды, а не в проектном .env:

Переменная Значение по умолчанию Назначение
DEV_TOOLS_PROJECT_DIR текущий каталог Явно задаёт каталог проекта
DEV_TOOLS_INSTALL_DIR /usr/local/bin Каталог установки глобального CLI
DEV_TOOLS_COMPLETION_DIR /usr/local/share/zsh/site-functions Каталог установки Zsh completion
DEV_TOOLS_UPDATE_URL файл из ветки dev Другой источник для установки и self-update
DEV_TOOLS_INSTALL_PATH путь запущенного CLI Другой целевой файл для self-update

Первый запуск

init:

Для проекта, ранее работавшего на хосте:

Старый .env.local сохраняется как .env.local.host-backup, после чего создается Docker-конфигурация. Обычный init существующего Docker-проекта сохраняет .env.local, но синхронизирует генерируемый Compose-файл.

Команды

dev-tools sh открывает login Zsh с Oh My Zsh. Вариант с одним аргументом выполняет команду через zsh -lc внутри app:

Zsh является стандартной оболочкой. Для образа, который временно её не поддерживает, оболочку можно переопределить в .env.local:

Если настроенная оболочка отсутствует в app, команда завершится с понятной ошибкой. Это переопределение предназначено для миграции старых образов; новые проекты должны устанавливать Zsh и Oh My Zsh на этапе сборки.

dump:import удаляет и создает заново только настроенную локальную БД.

Инструменты качества

PHP CS Fixer проверяет src по общей конфигурации пакета.

PHPStan автоматически использует проектный phpstan.dist.neon. Если файла нет, используется общая конфигурация и каталог src. Переданные пути ограничивают проверку указанными файлами.

Git hook запускает форматирование staged PHP-файлов внутри Docker и повторно добавляет исправленные файлы в Git index.

Разработка и тесты

Подробности реализации находятся в docs/architecture.md и docs/quality-tools.md.


All versions of dev-tools with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
friendsofphp/php-cs-fixer Version ^3.86
phpstan/phpstan Version ^2.2
phpstan/phpstan-doctrine Version ^2.0
phpstan/phpstan-symfony Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package it-nsk/dev-tools contains the following files

Loading the files please wait ...