Php Xdebug kullanımı ile ilgili yazı dizisinin ilk bölümünde, Ubuntu işletim sistemi üzerinde xdebug kurulumunu gerçekleştirmiştik. İkinci bölümde, local geliştirme ortamında phpStorm ile Xdebug entegrasyonunu ve kullanımını anlatacağım.

PhpStorm ile local ortamda proje geliştirirken xdebug kullanmak için öncelikle projenin hangi php interpreter'ı ile çalıştığını belirtmemiz gerekiyor. Bunun için menü çubuğundan, "File - Settings - Languages & Frameworks - PHP" bölümüne geliyoruz. Aşağıdaki resimde olduğu gibi açılan pencerede önce kullandığımız php versiyonunu seçiyoruz. Daha sonra hemen altındaki CLI Interpreter bölümünün en sağındaki [...] butonuna tıklıyoruz. 


Açılan penceredenin sol üst köşesinde bulunan [+] butonuna tıklayoruz ve PHP Executable bölümünden önerilen /usr/bin/php yolunu seçip kaydediyoruz.


 

Daha sonra entegrasyonu doğrulamak için, menü çubuğundan "Run - Web Server Debug Validation" bölümüne tıklıyoruz. Açılan pencerede önce projemiz local sunucuda çalıştığı için "Local Web Server or Shared Folder" seçeneğini işaretliyoruz. Hemen altında projemizin bulunduğu dizini ve çalışan url adresini girip "validate" butonuna tıklıyoruz. PhpStorm sistemimizi kontrol ediyor ve olası hatalar ile birlikte bir özet bilgi paylaşıyor. Aşağıdaki gibi hatasız bir sonuç aldığımız taktirde Xdebug entegrasyonu tamamlanmış oluyor.


 

Debuggerı çalıştırmak için kod üzerinde istediğimiz bir satıra breakpoint koyup, toolbardaki telefon ikonuna tıklayarak listenerı aktif ediyoruz. Ardından böcek ikonuna tıklayıp debuggerı başlatıyoruz ve web tarayıcıda breakpoint koyduğumuz satırın bulunduğu url adresini çalıştırıyoruz. Breakpoint koyduğumuz satıra geldiğinde phpStorm browserı durduruyor ve alt bölümde breakpointe kadar gelen işleyiş ile ilgili verileri gösteriyor.

Yukarıdaki görselde aşağı yönü gösteren ok işareti bulunan buton, kodumuzu satır satır çalıştırmaya yarıyor. Böylece her bir satır sonrasında gerçekleşen işlemlerin sonuçlarını (değişken tanımlamaları, girilen koşullar, döngü sayaçları, vb.) kodlarımız üzerinde görebiliyoruz.