Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Peningkatan PHP: Sekat regresi dengan PHPStan

Peningkatan PHP: Sekat regresi dengan PHPStan

Barbara Streisand
Barbara Streisandasal
2024-09-24 20:15:31900semak imbas

PHP Upgrades: Block regressions with PHPStan
Foto oleh Ron McClenny di Unsplash

Selalunya apabila orang berfikir tentang PHPStan, mereka biasanya berfikir untuk meningkatkan Liputan Jenis. Itu sebenarnya hanya sebahagian kecil daripada kemampuan PHPStan. Dalam artikel ini, kita akan mempelajari cara menggunakannya untuk menghentikan regresi peningkatan.

Apakah regresi naik taraf?

Regresi naik taraf ialah apabila anda mempunyai fungsi dalam aplikasi anda yang ingin anda alihkan. Ini mungkin kod dalam aplikasi anda atau kod dalam kebergantungan yang telah anda pasang.

Selalunya apabila cuba melakukan peningkatan, kami tidak dapat melakukan semuanya dalam satu masa. Sebaliknya kita perlu membuat perubahan tambahan yang kecil. Sama seperti kami melakukan ini, kami tidak mahu pembangun lain terus menggunakan kaedah dan sifat yang tidak digunakan lagi. Dalam situasi ini, panggilan kaedah baharu dan lain-lain adalah regresi dalam kemajuan anda untuk menaik taraf aplikasi anda.

Memasang PHPStan dan sambungan Peraturan Penamatan

Untuk mula menangani regresi peningkatan, langkah pertama ialah memasang PHPStan jika anda belum melakukannya. Anda boleh memasangnya melalui Komposer:

composer require --dev phpstan/phpstan

Seterusnya, anda perlu menambah sambungan Peraturan Penamatan, yang secara khusus membantu menjejaki penggunaan kaedah, sifat dan kelas yang ditamatkan dalam pangkalan kod anda:

composer require --dev phpstan/phpstan-deprecation-rules

Setelah dipasang, anda boleh mengkonfigurasi PHPStan untuk menggunakan peraturan penamatan dengan menambahkannya pada phpstan.neon fail konfigurasi anda:

includes:
    - vendor/phpstan/phpstan-deprecation-rules/rules.neon

Menjalankan PHPStan dengan persediaan ini kini akan membenderakan mana-mana kaedah, sifat atau kelas yang tidak digunakan dalam pangkalan kod anda. Ini merupakan langkah penting dalam mencegah regresi peningkatan kerana anda akan dimaklumkan apabila kod yang ditamatkan digunakan. Anda kemudiannya boleh memfaktorkan semula kejadian tersebut untuk memastikan aplikasi anda bergerak ke arah fungsi yang lebih baharu dan disokong.

Pergi lebih jauh dengan sambungan Panggilan Tidak Dibenarkan

Walaupun sambungan Peraturan Penamatan menangkap kod yang telah ditamatkan, sambungan Panggilan Tidak Dibenarkan menawarkan cara untuk menyekat panggilan fungsi tertentu, panggilan kaedah atau malah keseluruhan kelas yang anda tidak mahu benarkan lagi dalam pangkalan kod anda. Ini amat berguna untuk kawalan yang lebih terperinci ke atas kod anda seperti kod yang tidak mempunyai amaran penamatan.

composer require --dev spaze/phpstan-disallowed-calls

Selepas pemasangan, anda perlu mengkonfigurasinya dalam fail phpstan.neon anda. Berikut ialah contoh cara anda tidak membenarkan panggilan atau fungsi kaedah tertentu:

includes:
    - vendor/phpstan/phpstan-deprecation-rules/rules.neon
    # add the extension
    - vendor/spaze/phpstan-disallowed-calls/extension.neon

parameters:
    # You can see more example at https://github.com/spaze/phpstan-disallowed-calls/blob/main/docs/custom-rules.md
    disallowedMethodCalls:
        -
            method: 'PotentiallyDangerous\Logger::log()' # `function` is an alias of `method`
            message: 'use our own logger instead'
            errorTip: 'see https://our-docs.example/logging on how logging should be used'Begin writing your own rules
    disallowedFunctionCalls:
        -
            function: 'var_dump()' # `method` is an alias of `function`
            message: 'use logger instead'

Pelanjutan ini cukup komprehensif bermakna anda akan dapat menampung kebanyakan senario. Sudah tentu mungkin terdapat beberapa situasi yang tidak berkesan dan untuk itu perkara terbaik ialah mula belajar menulis peraturan anda sendiri.

Ini adalah sesuatu yang akan kita bahas dalam artikel lain.

Kesimpulan

Menggunakan PHPStan untuk menangkap regresi naik taraf ialah cara pintar untuk menjadikan proses naik taraf lebih mudah, terutamanya dalam pasukan pembangunan yang besar. Menggunakan PHPStan pada persediaan penyepaduan berterusan anda

Atas ialah kandungan terperinci Peningkatan PHP: Sekat regresi dengan PHPStan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn