phpsoftbox/cs-fixer
最新稳定版本:v1.1.0
Composer 安装命令:
composer require phpsoftbox/cs-fixer
包简介
CS Fixer rules for the PhpSoftBox framework
README 文档
README
Кастомные правила для PHP-CS-Fixer и консольная оболочка на базе CliApp.
CLI (psb-cs-fixer)
CLI-скрипт доступен как vendor/bin/psb-cs-fixer и использует конфиг php-cs-fixer.
Установка в компонент
Добавьте dev-зависимости:
{
"require-dev": {
"phpsoftbox/cs-fixer": "^1.0.1",
"friendsofphp/php-cs-fixer": "^3.93",
"phpsoftbox/cli-app": "^0.1.0@beta"
}
}
Конфиг Handler
Создайте config/cs-fixer.php и верните обработчик:
<?php declare(strict_types=1); use PhpCsFixer\Finder; use PhpSoftBox\CsFixer\Console\AbstractCsFixerHandler; return new class extends AbstractCsFixerHandler { protected function getFinder(): Finder { return Finder::create() ->in([__DIR__ . '/../src', __DIR__ . '/../tests']) ->exclude('vendor') ->ignoreVCS(true) ->name('*.php'); } protected function extendRules(array $rules): array { $rules['phpdoc_align'] = false; return $rules; } protected function extendFixers(array $fixers): array { // $fixers[] = new \Vendor\MyCustomFixer(); return $fixers; } };
Создайте в корне компонента .php-cs-fixer.dist.php:
<?php declare(strict_types=1); use PhpSoftBox\CsFixer\Console\AbstractCsFixerHandler; $handler = require __DIR__ . '/config/cs-fixer.php'; if (!$handler instanceof AbstractCsFixerHandler) { throw new RuntimeException('CsFixer handler not configured.'); } return $handler->createConfig();
Запуск
vendor/bin/psb-cs-fixer fix
vendor/bin/psb-cs-fixer check
Проверка PHTML-шаблонов
Для шаблонов .phtml лучше использовать отдельный конфиг и отдельный cache-файл:
<?php declare(strict_types=1); use PhpCsFixer\Finder; use PhpSoftBox\CsFixer\Console\AbstractCsFixerHandler; return new class extends AbstractCsFixerHandler { protected function getFinder(): Finder { return Finder::create() ->in([__DIR__ . '/../resources/views']) ->name('*.phtml'); } protected function cacheFile(): ?string { return getcwd() . '/.php-cs-fixer.phtml.cache'; } };
В пакет добавлен fixer PhpSoftBox/echo_tag_html_escape:
- для
phtmlпроверяет вывод<?= ... ?>/<?php echo ... ?>; - небезопасный вывод автоматически оборачивает в
html(...); raw(...)разрешён как явный bypass для доверенного HTML;- для email-layout дополнительно разрешены доверенные переменные
$contentи$unsubscribeBlock.
Поддерживаемые опции:
--config=<path>(если не указано, берётся файл из корня)--dry-run(дляfix)--diff--format=<name>--path-mode=<override|intersection>--cache-file=<path>--using-cache=<yes|no>--show-progress=<type>--stop-on-violation--sequential
Composer scripts
Пример секции scripts:
{
"scripts": {
"cs:fix": "vendor/bin/psb-cs-fixer fix",
"cs:check": "vendor/bin/psb-cs-fixer check --diff"
}
}
统计信息
- 总下载量: 138
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 51
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-05