spaze / phpstan-stripe
Stripe SDK 扩展程序 for PHPStan
v3.2.0
2024-07-21 01:46 UTC
Requires
- php: ^8.0
- phpstan/phpstan: ^1.7
Requires (Dev)
- nikic/php-parser: ^4.13
- php-parallel-lint/php-console-highlighter: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.2
- spaze/coding-standard: ^1.1
- stripe/stripe-php: ^8.7|^9.9|^10.8
Suggests
- phpstan/extension-installer: Allows automatic requirement of extension.neon
README
Stripe SDK 扩展程序 for PHPStan
寻找维护者/EOL
更新:我已经找到了新的维护者(s),请参阅讨论,因此这可能会很快改变(和URL)。谢谢!
添加特定类型,用于替换许多类中许多属性的 Stripe\StripeObject
类型声明,这些类用于 Stripe API 的 PHP 库。请参阅 extension.neon
以获取当前替换属性的全列表。
还添加了仅当对象更新时使用的属性的类型。这些属性在类(或类型错误)上没有使用 @property
标签进行文档化,开发团队认为它们应该保持这种状态。老实说,我不确定添加 @property
标签是否是最佳方式。
PHPStan 显然会标记此类属性访问,此扩展程序将通过告诉 PHPStan 这些属性存在来解决这个问题。
此扩展程序在其配置中不使用
parameters:
universalObjectCratesClasses:
- Stripe\StripeObject
因为它在 SDK 中,所有内容都 extends StripeObject
(或所有内容 extends ApiResource
,它反过来 extends StripeObject
),所以你的代码会读取或写入的每个属性都会存在,至少对于 PHPStan 而言。并且我希望此扩展程序提供更精确的检查。
如果你不想或不能使用此扩展程序,请将 universalObjectCratesClasses
配置片段添加到你的 phpstan.neon
,然后准备就绪。
安装
该软件包托管在 Packagist 上,因此您可以使用 Composer 安装它。
composer require --dev spaze/phpstan-stripe
如果您使用 phpstan/extension-installer,您就准备好了!
对于手动安装,请将其添加到您的 phpstan.neon
includes:
- vendor/spaze/phpstan-stripe/extension.neon