SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...

Запуск CS Fixer, Code Sniffer(или их аналоги) в web режиме?

Ищу адаптер для запуска CS Fixer или Code Sniffer непосредственно в php коде, либо аналогичные пакеты.
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Автор вопроса, куратор тега PHP
та еще зажигалка...
как говорится хочешь сделать хорошо - сделай сам...
пакет https://github.com/badoo/phpcf
$formatter = new \Phpcf\Formatter(new \Phpcf\Options());
$result = $formatter->formatFile('path/to/file.php');
if ($result->getError()) {
    throw $result->getError();
} else {
    file_put_contents($result->getFile(), $result->getContent());
}


и CS Fixer:

$file = __DIR__ . '/demo.php';
$config = \PhpCsFixer\Config::create()
    ->setRules([
        '@PSR12' => true,
        'list_syntax' => ['syntax' => 'short'],
    ])
    ->setFinder(new ArrayIterator([new SplFileInfo($file)]));

$resolver = new \PhpCsFixer\Console\ConfigurationResolver(
    $config,
    [],
     __DIR__,
    new \PhpCsFixer\ToolInfo()
);
$runner = new \PhpCsFixer\Runner\Runner(
    $config->getFinder(),
    $resolver->getFixers(),
    $resolver->getDiffer(),
    null,
    new \PhpCsFixer\Error\ErrorsManager(),
    $resolver->getLinter(),
    $resolver->isDryRun(),
    $resolver->getCacheManager(),
    $resolver->getDirectory(),
    $resolver->shouldStopOnViolation()
);
$runner->fix();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
https://scrutinizer-ci.com/
https://codeclimate.com/
https://insight.symfony.com/
Можно ещё сюда добавить гитхаб экшонс и трэвис
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы