phpstan extensions
v6.6.0
phpstanの拡張機能
この拡張機能を使用するには、作曲家でそれを必要とします。
composer require --dev slam/phpstan-extensionsphpstan/extension-installerを使用している場合、 conf/slam-rules.neon自動的に含まれます。
それ以外の場合は、 phpstan.neonにconf/slam-rules.neonを含める必要があります。
includes :
- vendor/slam/phpstan-extensions/conf/slam-rules.neon SlamPhpStanUnusedVariableRule :最初の割り当て後に使用されていない機能内の変数を確認するSlamPhpStanMissingClosureParameterTypehintRule :閉鎖にパラメータータイプヒントが必要です。警告:PHPDOCは許可されていません。PHPSTAN phpstan/phpstan-strict-rules#87を参照してくださいSlamPhpStanStringToClassRule ::: ::class Notationで表現するクラスを参照する文字列が必要ですSlamPhpStanGotoRule :許可されていませんSlamPhpStanClassNotationRule :SlamPhpStanPhpUnitFqcnAnnotationRule :次のphpunitアノテーションで見つかったクラスは存在する必要があります。@expectedException@covers@coversDefaultClass@usesSlamPhpStanAccessGlobalVariableWithinContextRule withincontextrule:特定のクラス/インターフェイスを拡張または実装するクラス内のグローバルへのアクセスを阻害しますSlamPhpStanAccessStaticPropertyWithinModelContextRule :特定のクラス/インターフェイスを拡張または実装するクラス内のクラスの静的属性へのアクセスを阻害します。 not-now-rules.neon CONFIGは、生の日付システムの呼び出しを禁止するために存在します。
includes :
- vendor/slam/phpstan-extensions/conf/not-now-rules.neonこれらのルールは禁止しています:
new DateTimeImmutable()new DateTime('yesterday')date('Ym-d')time()strtotime('noon')代わりに、 lcobucci/clockなどの時計の抽象化に依存する必要があります。
警告:ルールは完全ではありません。ユーザーは簡単にトリックすることができます。それらは、適切な時計の抽象化への移行を支援するためだけです。
symfony-rules.neon ConfigがSymfonyプロジェクトに存在します。
includes :
- vendor/slam/phpstan-extensions/conf/symfony-rules.neon次の構成で:
SlamPhpStanSymfonyFilesystemRule : symfony/filesystemコンポーネントによってよくラップされた生ファイルシステム関数への呼び出しを禁止SlamPhpStanSymfonyProcessRule : symfony/processコンポーネントによってよく包まれた生システム関数への呼び出しを禁止するyii-rules.neon構成はYiiプロジェクトに存在します。
includes :
- vendor/slam/phpstan-extensions/conf/yii-rules.neon次の構成で:
SlamPhpStanAccessGlobalVariableWithinContextRule $_GET 、 $_POST 、およびその他のグローバル変数を拒否してyiidbActiveRecordInterfaceを実装するモデルのその他のグローバル変数:モデルのシングルトンへのアクセスは、反パターンと見なされます。SlamPhpStanAccessStaticPropertyWithinModelContextRule 、 yiidbActiveRecordInterfaceを実装するモデルの$appのようなyiiBaseYii static変数の使用を拒否するために拒否します。