承接 phpsoftbox/cs-fixer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固