定制 h4ck3r31/psalm-issue-filter-plugin 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

h4ck3r31/psalm-issue-filter-plugin

最新稳定版本:v0.3.0

Composer 安装命令:

composer require h4ck3r31/psalm-issue-filter-plugin

包简介

Allows to filter/skip code issues based on code snippets within PsalmPHP

README 文档

README

Allows to filter/skip code issues based on code snippets. The configuration example below skips PossiblyUndefinedStringArrayOffset or PossiblyUndefinedIntArrayOffset that might occur in project scenarios like:

class Subject
{
    /**
     * @return SomeService
     */
    protected function getSomeService()
    {
        // there's no guarantee this service instance is given
        // however, it particular frameworks it might be like that
        // -> this plugin helps to skip these boilerplate issues
        return $GLOBALS['SOME_SERVICE'];
    }
}

Configuration Directives

  • section used for logical grouping of issue and filter items
  • issue selecting issue class names, filter items shall be applied to
    • class mandatory, using Psalm's issue class name
  • filter defining matching strategies concerning filtering
    • type matching strategy - either str_starts_with or preg_match
    • value the corresponding payload to be matches (adjust for actual strategy)
    • result (default false) which is the same as in Psalm's BeforeAddIssueInterface::beforeAddIssue
      • true stops event handling & keeps issue
      • false stops event handling & ignores issue

Example

in plugin section of psalm.xml

<psalm>
    <!-- ... -->
    <plugins>
        <!-- ... -->
        <pluginClass class="H4ck3r31\PsalmIssueFilterPlugin\Plugin">
            <section>
                <issue class="Psalm\Issue\PossiblyUndefinedStringArrayOffset" />
                <issue class="Psalm\Issue\PossiblyUndefinedIntArrayOffset" />

                <filter type="str_starts_with" value="$GLOBALS" result="false" />
                <!-- same impact, using `preg_match` instead of `str_starts_with` -->
                <filter type="preg_match" value="/^\$GLOBALS/" result="true" />
            </section>
            <section>
                <!-- ... -->
            </section>
        </pluginClass>
    </plugins>
    <!-- ... -->
</psalm>

统计信息

  • 总下载量: 498
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固