orklah/psalm-strict-types

当文件可证明安全时,添加 strict_types 声明

安装量: 98,458

依赖项: 0

建议者: 0

安全: 0

星级: 17

关注者: 3

分支: 0

开放问题: 1

类型:psalm-plugin

v0.1.3 2021-08-30 20:46 UTC

This package is auto-updated.

Last update: 2024-08-29 05:41:01 UTC


README

一个通过分析文件内容添加 strict_types 声明的 Psalm 插件

安装

$ composer require --dev orklah/psalm-strict-types
$ vendor/bin/psalm-plugin enable orklah/psalm-strict-types

使用

要启动标准分析,运行您常用的 Psalm 命令

$ vendor/bin/psalm

要自动添加 strict_types 声明

$ vendor/bin/psalm --alter --plugin=vendor/orklah/psalm-strict-types/src/Plugin.php

说明

警告:虽然这个插件在设计时考虑了安全性,但分析代码是困难的。此插件可能会在可能破坏您的生产环境的文件上添加 strict_types 声明。请谨慎使用

此插件使用 Psalm 类型推断和 PHP-Parser 的节点解析来检查每个可能的 strict_types 违规

  • 方法/函数调用中的参数
  • 方法/函数的返回语句
  • 属性分配

当它遇到潜在的有问题的代码时,它将根据代码的严重性创建一个 Psalm 问题

  • BadTypeFromDocblockIssue
  • MixedBadTypeFromDocblockIssue
  • PartialBadTypeFromDocblockIssue

当在尚未启用 strict 的文件上遇到类型(从文档块推断)时,会发出这些问题。给定的类型可以是混合的(通常文档不足)、部分(期望联合的一部分)或完全错误(完全不同的类型)

  • BadTypeFromDocblockOnStrictFileIssue
  • MixedBadTypeFromDocblockOnStrictFileIssue
  • PartialBadTypeFromDocblockOnStrictFileIssue

当在已启用 strict 的文件上遇到类型(从文档块推断)时,会发出这些问题。给定的类型可以是混合的(通常文档不足)、部分(期望联合的一部分)或完全错误(完全不同的类型)

  • BadTypeFromSignatureIssue
  • MixedBadTypeFromSignatureIssue
  • PartialBadTypeFromSignatureIssue

当在尚未启用 strict 的文件上遇到类型(从签名推断)时,会发出这些问题。给定的类型可以是混合的(通常文档不足)、部分(期望联合的一部分)或完全错误(完全不同的类型)

  • BadTypeFromSignatureOnStrictFileIssue
  • MixedBadTypeFromSignatureOnStrictFileIssue
  • PartialBadTypeFromSignatureOnStrictFileIssue

当在已启用 strict 的文件上遇到类型(从签名推断)时,会发出这些问题。给定的类型可以是混合的(通常文档不足)、部分(期望联合的一部分)或完全错误(完全不同的类型)

  • GoodTypeFromDocblockIssue

当遇到期望的类型但由文档块推断时,会发出此问题。在这种情况下,此插件不会自动添加 strict_types 声明,因为文档块可能不正确

  • StrictDeclarationToAddIssue

不在 --alter 模式下时,当插件检测到可以为该文件安全添加声明时,将发出此问题

注释

此插件的理念与 Psalm 不一致。实际上,解决此插件中的每个问题可能会在 Psalm 核心中创建新的问题。(例如 RedundantCast)这是由于决定不信任此工具上的文档块以避免在文档块错误时添加 strict_types。