PHPackages                             deeem/hexlet-psr-linter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. deeem/hexlet-psr-linter

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

deeem/hexlet-psr-linter
=======================

v1.0(9y ago)021MITPHP

Since Aug 16Pushed 9y ago1 watchersCompare

[ Source](https://github.com/deeem/hexlet-psr-linter)[ Packagist](https://packagist.org/packages/deeem/hexlet-psr-linter)[ Docs](https://github.com/deeem/hexlet-psr-linter)[ RSS](/packages/deeem-hexlet-psr-linter/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

Hexlet PSR Linter
=================

[](#hexlet-psr-linter)

[![Build Status](https://camo.githubusercontent.com/459cc267d9cc732fb620a653bfdc6cdf07d0be5489e91340db363d4dc9e9e17d/68747470733a2f2f7472617669732d63692e6f72672f646565656d2f6865786c65742d7073722d6c696e7465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/deeem/hexlet-psr-linter)[![Code Climate](https://camo.githubusercontent.com/19a2f25219ea0aad64d4a2336579c73557271d49e1815a0530999ac2c92a2c67/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f646565656d2f6865786c65742d7073722d6c696e7465722f6261646765732f6770612e737667)](https://codeclimate.com/github/deeem/hexlet-psr-linter)[![Test Coverage](https://camo.githubusercontent.com/b289907d54441f9d38d072de5b714355abdecca94f57915d9e9a3d43860160aa/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f646565656d2f6865786c65742d7073722d6c696e7465722f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/deeem/hexlet-psr-linter/coverage)[![Issue Count](https://camo.githubusercontent.com/516027a5a0ef07892d3e146ae25302704cf16555eef4c2f5c981f3427431be1d/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f646565656d2f6865786c65742d7073722d6c696e7465722f6261646765732f69737375655f636f756e742e737667)](https://codeclimate.com/github/deeem/hexlet-psr-linter)

About
-----

[](#about)

Линтер, проверяющий php-код на соответствие некоторому набору правил и выводящий отчёт о нарушениях с возможностью исправить код (если функция для исправления описана в правиле). Проект в рамках стажировки на hexlet.io

Requirements
------------

[](#requirements)

- PHP &gt;= 7.0
- Composer

Install
-------

[](#install)

1. Установка клонированием git-репозитория

```
git clone https://github.com/deeem/hexlet-psr-linter
cd hexlet-psr-linter
make install

```

2. Установка с использованием composer

```
composer require deeem/hexlet-psr-linter

```

3. Установка с использованием composer.json

```
"require": {
    "deeem/hexlet-psr-linter": "*"
}
```

Использование командой строки
-----------------------------

[](#использование-командой-строки)

Например, проверка кода в директории `myProject` правилами, перечисленными в `ruleset.json`, загруженными из директории `~/mySniffs`

```
bin/psr-linter myProject --sniffs ~/mySniffs --ruleset ruleset.json

```

Формат json-файла - обычный массив

```
[
  "FunctionsNamingForCamelCase",
  "VariablesNamingForCamelCase",
  "VariablesNamingForLeadUnderscore"
]
```

Дополнительные параметры описывает справка

```
bin/psr-linter --help

```

Для удобство вызова, в случае, если psr-linter установлен глобально, можно сделать ссылку на bin-файл

```
ln -s path-to-bin/psr-linter /usr/local/bin/psr-linter

```

После чего его можно вызывать набрав

```
psr-linter

```

Использование библиотеки
------------------------

[](#использование-библиотеки)

За создание линтера отвечает функция `makeLinter`, которая принимает в качестве аргументов массив объектов наследников RulesInterface и флага автофикса и возвращает функцию, которая в качестве аргумента принимает исходный код в виде строки. А возвращает массив, содержащий ошибки и исправленный код, если был передан такой аргумент.

```
