Araçlarla Otomatik Kontrol

Bütün bu kuralların her seferinde elle kontrol edilmesini beklemek gerçekçi değil — insan gözü yorulur, standartlar gözden kaçar. Bu bölümdeki araçlar, bir insan reviewer'ın kontrol etmek zorunda kalmaması gereken şeyleri yakalamak için var.

1. PHP_CodeSniffer ve Coder

PHP_CodeSniffer, Coder modülünün Drupal ve DrupalPractice kural setleriyle birleştiğinde, önceki bölümlerde ele alınan PHP, YAML ve dokümantasyon standartlarını gerçekten bir bilgisayarın kontrol edebileceği bir şeye dönüştüren araçtır.

composer require --dev drupal/coder

2. phpcs ve phpcbf Çalıştırmak

Kurulduktan sonra phpcs bir dizini tarar ve bulduğu her ihlali, dosya ve satır numarasıyla birlikte listeler; onun yanındaki phpcbf ise belirsizlik taşımayan bir düzeltmesi olan ihlallerin bir kısmını — çoğunlukla boşluk ve biçimlendirme sorunlarını, nadiren yapısal bir şeyi — otomatik olarak düzeltir.

vendor/bin/phpcs \
--standard=Drupal,DrupalPractice \
web/modules/custom

vendor/bin/phpcbf \
--standard=Drupal \
web/modules/custom

3. PHPStan ve phpstan-drupal

phpcs yalnızca biçimlendirmeye bakar — bir method çağrısının geçerli olup olmadığı ya da bir değişkenin olması gereken tipi taşıyıp taşımadığı hakkında hiçbir fikri yoktur. phpstan-drupal kurallarıyla genişletilmiş PHPStan tam olarak bunun için var: kodu hiç çalıştırmadan yanlış bir method çağrısını, uyuşmayan bir tipi ya da var olmayan bir şeye yapılan referansı yakalayan gerçek bir statik analiz.

composer require --dev phpstan/phpstan mglaman/phpstan-drupal

4. ESLint ve Stylelint

Daha önce ele alınan JavaScript ve CSS standartlarının kendi araçları var: JavaScript için, Drupal core'un birlikte geldiği konfigürasyonu kullanan ESLint, CSS için ise Stylelint. İkisi de phpcs ile aynı şekilde çalışır — onları bir dizine yöneltin, ihlallerin listesini okuyun.

5. Editör Entegrasyonu

Bu araçların hiçbiri yalnızca bir commit'ten hemen önce çalıştırılırsa pek işe yaramaz. phpcs, ESLint ve Stylelint'i bir editöre bağlamak — çoğu IDE bunu bir eklenti üzerinden destekler — bir ihlali yazıldığı anda gösterir; bu da bir pipeline'ın başarısız olmasını beklemekten çok daha kısa bir geri bildirim döngüsüdür.

Son güncelleme: 21.09.2026 09:51