Download the PHP package deeem/hexlet-psr-linter without Composer
On this page you can find all versions of the php package deeem/hexlet-psr-linter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package hexlet-psr-linter
Hexlet PSR Linter
About
Линтер, проверяющий php-код на соответствие некоторому набору правил и выводящий отчёт о нарушениях с возможностью исправить код (если функция для исправления описана в правиле). Проект в рамках стажировки на hexlet.io
Requirements
- PHP >= 7.0
- Composer
Install
-
Установка клонированием git-репозитория
-
Установка с использованием composer
- Установка с использованием composer.json
Использование командой строки
Например, проверка кода в директории myProject
правилами, перечисленными в ruleset.json
, загруженными из директории ~/mySniffs
Формат json-файла - обычный массив
Дополнительные параметры описывает справка
Для удобство вызова, в случае, если psr-linter установлен глобально, можно сделать ссылку на bin-файл
После чего его можно вызывать набрав
Использование библиотеки
За создание линтера отвечает функция makeLinter
, которая принимает в качестве аргументов массив объектов наследников RulesInterface и флага автофикса и возвращает функцию, которая в качестве аргумента принимает исходный код в виде строки. А возвращает массив, содержащий ошибки и исправленный код, если был передан такой аргумент.
Создание правил
Изначально идёт с несколькими правилами, носящими демонстрационный характер. Для реальной работы необходимо создать свой набор правил для проверки
Правила делятся на 2 категории, по возможности применения автоисправления нарушения:
- определяют нарушение, которые нельзя исправить автоматически (например, сайд-эфект)
- определяют нарушение и исправляют автоматически (например, приведение имени переменной к соответсвующему виду)
Для создания нового правила, нужно создать создать инстанс соответствующего класса: CheckersTemplate
- в первом случае или FixersTemplate
, в случае, если есть возможность добавить автофикс для данного правила.
Пример правила, для проверки имени переменной на соответствие стандарта именования camelCase:
Другие примеры находятся в директории shiffs