Bu blogda sizlərə istifadə etdiyim 2 php debugger paketi haqqında informasiya verəcəm. Whoops və Tracy debugger

Bir çoxlarımız veb tətbiqetmədə səhv (error) çıxarkən php-nin öz debuggeri informasiyasını görürük. Lakin bir çox hallarda bu informasiya çox gözoxşayan formada və kifayət qədər informativ olmur. Buna görə də əlavə debugger paketi istifadə etməli oluruq. Bu blogda onların 2si haqqında sizlərə informasiya verəcəm.

1. Whoops

Whoops — bu PHP -də baş verən səhv və bildirişlərlə rahat istifadə üçün yaradılmış kitabxanadır. Onun rahat və səliqəli interfeysi var.

Whoops interfeysi səhvi rahat tapmağa və başa düşməyə çox kömək olur. Göründüyü kimi siz səhvin tipini və həmçinin səhv mesajını görə bilirsiniz.



Whoops\Example\Exception thrown with message "Something broke!"

Lakin standart PHP erroru isə belə görünür:

Notice: Undefined offset: 0 in D:\localhost\projects\test\test.php on line 27

Göründüyü kimi paket kodun yerini faylda özü sizə göstərir. Siz onu axtarmağa məcbur olmursunuz.

Daha aşağı gəldikdə siz requestlər siyahısını görə, üzərinə klik edərək birindən digərinə keçə bilərsiniz. Sağ tərəfdə isə səhv baş verən kod parçasını görə bilərsiniz.

Digər müsbət cəhət isə daha aşağıda "Environment & details" bölməsi var ki, orada mövcud dəyişənlər (GET, POST, Files, Cookies), php-sessiya və "Server/Request Data" ($_SERVER) məlumatlarını görmək olar.

Nümunəyə  Burada  baxa bilərsiniz.

Imkanlar

Bu paketin yaradıcıları onun haqqında aşağıdakı imkanlar olduğunu deyirlər:

  • Səhvlərin rahat tapılıb göstərilməsi
  • Başqa paketlərdən asılı olmaması
  • Rahat APİ
  • Səhv haqqında informativ səhifə
  • Səhv olan faylı IDE/redaktorda açmaq imkanı
  • (JSON, XML, SOAP) formatda responsların oxuna bilməsi
  • Digər freymvorklərə rahat inteqrasiya olunur
  • Səliqəli və strukturlu kod

Hazırda whoops aşağıdakı IDE/redaktorları dəstəkləyir:

  • Emacs
  • IDEA
  • MacVim
  • PhpStorm (только для MacOS)
  • Sublime Text 2 и возможно 3
  • Textmate
  • xdebug-формат
  • VSCode

Quraşdırılma

Composer ilə rahat quraşdırıla bilər:

composer require filp/whoops

 --dev versiya məsləhət görülmür smiley.

Qoşulma və ayarlar

Sadəcə baza formada aşağıdakı qaydada qoşulur:

$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();

Daha detallı qaydada isə API dokumentasiya oxuya bilərsiniz.

Faylın redaktorda açılması üçün:

use Whoops\Handler\PrettyPageHandler;

$handler = new PrettyPageHandler;
$handler->setEditor('sublime');

editor Parametri aşağıdakıları qəbul edə bilər:

Redaktor üçün link yaradıcını da əlavə etmək rahatdır:

$handler->setEditor(function($file, $line) {
    return "whatever://open?file=$file&line=$line";
});

Daha ətraflı burada oxuya bilərsiniz.


2. Tracy debugger

Bu mənim daha üstün tutduğum bir debugger paketidir. Whoops-da olanların hər biri burada da var. Lakin Tracy əlavə imkanlarına görə daha üstündür.

Həmin imkanlar aşağıdakılardır:

  • Paketin elə özündə gələn debug bar. Burada səhifənin nə qədər vaxta açıldığını, neçə class cağırıldığını, bazada neçə request getdiyini və s. görə bilərsiniz
  • Əlavə brauzer debugger paketinin qoşula consola bilməsi. 
  • Debugger lokalda səhvləri göstərir, real serverdə isə səhvi olan hissəni göstərmir, lakin error olduğunu bildirir, həmin errorla bağlı html səhifə yaradır və hətta sizə e-mail də göndərir. Daha dəqiq desəb development modda debugger vizual olaraq açıq olur, production modda isə bağlı.
  • Development və production modları özü avtomatik təyin edə bilir. Siz İP ünvanınızı əlavə edərək həmin İP üçün debuggeri vizual olaraq açıq saxlaya da bilərsiniz.


Bu paket haqqında ətraflı məlumatı və dokumentasiyanı tracy.nette.org - da oxuya bilərsiniz.

Onu da qeyd edim ki, mənim tərəfimdən hazırlanmış Go Framework -də də Tracy debugger istifadə olunur.


Ümumi fikirlərim:

Hər iki debugger paketi çox yaxşı və məskəhətlidir. Hər birini istifadə etmişəm. Lakin Tracy-də imkanlar çox olduğundan onu daha üstün tuturam. Bəs siz necə ? Fikirlərinizi komentə yaza bilərsiniz.

Tags