Adab-ı PHP: PHPCS

Bu yazımda; PHPCS‘in ne olduğu, kurulumu, komut satırıyla kullanımı, Visual Studio Code ve PhpStorm ile entegrasyonun nasıl yapılacağından bahsetmeye çalışacağım. Diğer yazılarıma nispetle biraz daha uzun bir yazı olabilir ancak PHP üzerine uzmanlaşmak istiyorsanız, bu makaleyi okumanızı öneririm.

PHPCS Nedir?

PHP, ilk olarak kişisel bir proje olarak doğdu. İlk zamanlardaki açılımı Personel Home Page‘di. Zamanla yaygınlaşarak, bir topluluk projesi halini aldı ve daha gösterişli bir açılım uygun görüldü: Hypertext Preprocessor.

PHP’nin hızlı yükseliş ve gelişim sürecinde, dilin tasarımındaki hataların yanı sıra, bir kodlama standardı da yoktu. Bu açığı kapatmak adına PSR standartları geliştirildi. Bugün, yazdığınız kodun ciddiye alınmasını istiyorsanız, bu standartlara uymanızda fayda var.

Bir geliştiricinin, kodlama standartlarını takip etmesi ve kodlama sürecinde hepsini uygulaması kolay olmayabilir. İşte PHPCS, bu noktada devreye girerek yazdığınız kodun, belirlediğiniz kodlama standartına uygun olup olmadığını denetliyor.

PHPCS’in aynı kod çatısı altında, PHPCBF isimli bir de kardeşi var. PHPCBF, kodlarınızı denetlemekle kalmıyor, “düzeltilebilir” olanları da düzeltiyor.

“Düzeltmek” demişken… Delbert Grady’nin kullandığı anlamda değil.

The Shining / Cinnet (1980)

PHPCS Kurulumu

Projelerimizden, kullanacağımı IDE’lerden erişilebilir olması için öncelikle PHPCS’i bilgisayarımıza kuralım. Kurulumu bir kaç şekilde yapabilirsiniz ancak ben Composer ile global kurulumu öneriyorum.

İlgili paketler yüklendikten sonra, kurulumun başarılı olduğunu ve dosyanın global olarak erişilebilir olduğunu doğruluyorum.

Eğer sisteminizde komutun bulunamadığında dair hata mesajı alıyorsanız, Composer’ın kurulum dizinini, işletim sisteminizin PATH değişkenine ekleyiniz.

Komut Satırıyla Kullanımı

PHPCS’e, kodlarınızı denetlenmesi için bir dizini veya bir dosyayı parametre olarak gönderebilirsiniz. Ek olarak, kodların hangi standartlara göre denetleneceğine dair bir parametre de göndereceğiz. Yapacağımız örneklerde PSR-2 standardını temel alacağız.

Aşağıdaki komut, EmailController.php dosyasını PSR-2 standartlarına göre denetler.

PHPCS, bana bir rapor döndürüyor. Bu raporda, kod uyumluluğu ihlallerini açıklamalarıyla beraber gösteriyor. Raporun alt kısmında ise PHPCBF ile hangilerinin düzeltilebilir olduğunu gösteriyor.

Şimdi, aşağıdaki komutla dosyamızı PHPCBF’ye gönderiyoruz.

PHPCBF, düzeltilebilir olan 6 adet kural ihlalini düzelterek bize sonucu gösteriyor.

PHPCS ve PHPCBF’nin en basit kullanımı bu şekilde. Ancak PhpStorm gibi bir IDE ile ya da Visual Studio Code (bundan sonra Code olarak anılacak) çalışırken, komut satırına dönerek bu işlemleri yapmak zaman kaybı olacaktır. Bu yüzden çalışma ortamımız ile entegrasyonun nasıl yapılacağına bakalım.

Code ile PHPCS Kullanımı

İlk olarak PHPCS eklentisini kuruyoruz. Komut satırıyla kurulum için aşağıdaki komutu çalıştırmanız yeterli. Eklentinin sayfası ise tam olarak şurada.

Eğer PHPCS dosyası, sisteminizde global olarak erişilebilir değilse, eklentiye PHPCS dosyasının yolunu gösteren bir ayar satırı eklememiz gerekiyor. Uygulanmasını istediğimiz standardı da ikinci satırda belirttik.

Hepsi bu kadar. Dosyalarınızı Code ile açtıktan sonra ilgili PHPCS uyarılarını hem editörde hem de çıktı penceresinde görebileceksiniz.

Code ile PHPCBF Kullanımı

Eğer hata gösterimleri yetmiyor, çalıştığınız dosyanın PHPCBF tarafından otomatik olarak düzeltilmesini istiyorsanız, bunun için Code’un “Tasks / Görevler” özelliğinden yararlanabilirsiniz.

Projemin içinde oluşturduğum, aşağıdaki tasks.json dosyası, görevi her çalıştırdığımda dosyadaki kural ihlallerini düzeltecek.

PhpStorm ile PHPCS Kullanımı

Ayarlardan Code Sniffer bölümünü bularak, bir PHPCS konfigürasyonu tanımlamamız gerekiyor. Buradaki tek önemli nokta, dosya yolunu doğru tanımlamak olacaktır. Yolu tanımladıktan sonra, “Validate” bağlantısıyla PHPCS yolunu doğrulayabilirsiniz.

Ayarları yapmanıza rağmen, hala editörde bir değişiklik yok çünkü “Inspections” bölümünden Code Sniffer incelemesini aktif hale getirmeniz ve istediğiniz kod standardını belirtmeniz gerekiyor.

PhpStorm ile PHPCBF Kullanımı

PhpStorm ile biraz daha işin kolayına kaçarak, dosyamızı her kaydettiğimizde PHPCBF ile otomatik düzeltilmesini sağlayalım. Bunun için, PhpStorm’un File Watchers (Dosya İzleyici) özelliğini kullanacağız.

Ayarlarımızdan File Watchers bölümünü buluyoruz ve yeni bir izleyici tanımıyoruz. İzleyici tanımlarımı, üzerinde çalıştığım dosyayı izleyecek şekilde yaptım. Bunun için PhpStorm’un değişkenlerinden faydalanabilirsiniz.

Bu kadar mı?

Benden bu kadar! Yazımı beğendiyseniz, paylaşın. Hatalarım varsa, yorum bölümü sizi bekler.

Facebook Twitter Digg Delicious

24 Temmuz 2018 tarihinde yayınlandı.