Download the PHP package techart/php-tooling without Composer

On this page you can find all versions of the php package techart/php-tooling. 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 php-tooling

PHP Линтер

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

Даже когда программист пытается следовать, общим для компании, правилам написания (https://webtech.techart.ru/code-style-php/), то всё равно играет человеческий фактор и где-то обязательно будет не соблюдение правил.

Чтобы оптимизировать этот процесс, был создан пакет php-tooling (https://packagist.org/packages/techart/php-tooling), который включает в себя функционал линтера. Линтер анализирует код проекта и показывает ошибки и предупреждения в тех местах проекта, которые не соответствуют заданым правилам.

Результат работы линтера выглядит так:



Установка

Пакет php-tooling должен существовать отдельно от вашего основного вендора на сайте. Установить его можно с помощью следующей команды:

Данная команда по текущему пути создаст папку с названием пакета и склонирует туда его файлы, а так же применит автоматически composer install. (Не забываем добавить папку vendor этого пакета в .gitignore).

Если php-tooling уже существует, то будет достаточно собрать vendor-пакеты с помощью vcomposer install

Пути установки

Bitrix

В bitrix проектах пакет нужно ставить в папку local.

TAO3

В tao3 проектах пакет нужно ставить в корневую папку проекта.

Использование

Bitrix

В bitrix проектах обычно по умолчанию ставится наш пакет bitrix.tao (https://packagist.org/packages/techart/bitrix.tao). Данный пакет имеет специальную cli команду:

Эта команда запустит процесс анализа кода от папки www.

Про функционал cli-команд можно почитать тут: https://webtech.techart.ru/bitrix-tao/cli/.

TAO3

Для tao3 проектов существует специальная artisan-команда:

Про artisan команды можно почитать в официальной документации Laravel: https://laravel.com/docs/9.x/artisan

Остальные проекты

Нужно из папки php-tooling выполнить следующую команду:

Необходимость вызова команды непосредственно из папки обусловлено тем, что в ином месте вызова будут использоваться стандартные правила линтера.

Правила линтера

В папке php-tooling содержится файл phpcs.xml. Он был создан на основе правил PSR12 (https://www.php-fig.org/psr/psr-12/), это грубо говоря расширенный PSR2, которому мы следуем(почти). В этом файле добавляются правила и исключения. Править этот файл лично крайне не рекомендуется (по крайней мере для стандартных проектов на bitrix и tao3), он должен быть общим для всех, поэтому если есть необходимость добавления какого-то исключения или правила, то следует сообщить об этом вышестоящему по должности, как правило - тимлиду.

Исключения

Для bitrtx проектов обычное дело видеть файлы типа .section.php, в которых объявляется массив, но не используется в рамках этого файла. Линтер соответственно об этом скажет. Чтобы избежать таких ситуаций, существует функционал исключения: Для игнорирования строчки пишем над строчкой следующее:

Данный комментарий скажет линтеру игнорировать следующую строку.

Для исключения целого файла есть следующая команда:

Пишется в начало файла.

Эти команды существуют только для безвыходных ситуаций. Какие-то спорные ошибки или ситуации стоит обсуждать и в процессе дополнять файл правил.

Использование линтера в gitlab-ci

Эта часть находится в стадии разработки На данный момент можно создать задачу для gitlab-ci в таком виде:

Если линтер найдёт ошибки, процесс выкладки остановится с ошибкой.

PHPUnit тестирование

Подробнейшая документация по написанию unit тестов тут: https://docs.phpunit.de/en/10.3/writing-tests-for-phpunit.html#asserting-return-values

Скрипт для запуска всех тестов из папки /tests/: composer phpunit:run


All versions of php-tooling with dependencies

PHP Build Version
Package Version
No informations.
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 techart/php-tooling contains the following files

Loading the files please wait ....