Ekstensi untuk phpstan
Untuk menggunakan ekstensi ini, memerlukannya di komposer:
composer require --dev slam/phpstan-extensions Saat Anda menggunakan phpstan/extension-installer , conf/slam-rules.neon akan dimasukkan secara otomatis.
Kalau tidak, Anda perlu memasukkan conf/slam-rules.neon di phpstan.neon Anda.
includes :
- vendor/slam/phpstan-extensions/conf/slam-rules.neon SlamPhpStanUnusedVariableRule : Periksa fungsi variabel di dalamnya tidak pernah digunakan setelah penugasan awalSlamPhpStanMissingClosureParameterTypehintRule : Membutuhkan Parameter TipeHints untuk penutupan; PERINGATAN: Tidak ada PHPDOC yang diizinkan, lihat phpstan/phpstan-strict-rules#87SlamPhpStanStringToClassRule : Membutuhkan string yang merujuk pada kelas untuk diekspresikan dengan ::classSlamPhpStanGotoRule : tidak ada goto diizinkanSlamPhpStanClassNotationRule :SlamPhpStanPhpUnitFqcnAnnotationRule : kelas yang ditemukan dalam anotasi phpunit berikut harus ada:@expectedException@covers@coversDefaultClass@usesSlamPhpStanAccessGlobalVariableWithinContextRule : Menghambat akses ke global dalam kelas yang memperluas atau mengimplementasikan kelas/antarmuka tertentuSlamPhpStanAccessStaticPropertyWithinModelContextRule : Menghambat akses ke atribut statis kelas dalam kelas yang memperluas atau mengimplementasikan kelas/antarmuka tertentu, berguna untuk melarang penggunaan singleton dalam model Konfigurasi yang not-now-rules.neon hadir untuk melarang panggilan sistem tanggal mentah:
includes :
- vendor/slam/phpstan-extensions/conf/not-now-rules.neonAturan ini melarang:
new DateTimeImmutable()new DateTime('yesterday')date('Ym-d')time()strtotime('noon') Anda sebaliknya harus mengandalkan abstraksi jam seperti lcobucci/clock .
Peringatan: Aturannya tidak sempurna, pengguna dapat menipu mereka dengan mudah; Mereka dimaksudkan hanya untuk membantu transisi ke abstraksi jam yang tepat.
Konfigurasi symfony-rules.neon hadir untuk Proyek Symfony:
includes :
- vendor/slam/phpstan-extensions/conf/symfony-rules.neonDengan konfigurasi berikut:
SlamPhpStanSymfonyFilesystemRule : Forbid Calls to Raw Filesystem Functions Wraped Well oleh symfony/filesystem ComponentSlamPhpStanSymfonyProcessRule : Forbid Calls to Raw Functions Fungsi yang Dibungkus dengan Baik oleh Komponen symfony/process A yii-rules.neon config ada untuk proyek YII:
includes :
- vendor/slam/phpstan-extensions/conf/yii-rules.neonDengan konfigurasi berikut:
SlamPhpStanAccessGlobalVariableWithinContextRule untuk menolak penggunaan $_GET , $_POST dan variabel global lainnya dalam model yang mengimplementasikan yiidbActiveRecordInterface : mengakses singleton dalam model dianggap sebagai anti-pola-polaSlamPhpStanAccessStaticPropertyWithinModelContextRule untuk menyangkal penggunaan variabel statis yiiBaseYii seperti $app dalam model yang menerapkan yiidbActiveRecordInterface : mengakses singleton dalam model dianggap sebagai anti-pola-pola: