Pokazywanie postów oznaczonych etykietą debug. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą debug. Pokaż wszystkie posty

2015-08-25

Symfony2 - debugowanie skryptów uruchamianych z konsoli

Istnieje możliwość debugowania kodu odpalanego z konsoli (app/console). Aby móc cieszyć się takim dobrodziejstwem wystarczy:

w php.ini (dla cli) wpisać:

xdebug.remote_enable=1

przed poleceniem app/console wpisać:

SERVER_PORT=9000 SERVER_NAME='PHPSTORM' php -dxdebug.remote_autostart=On app/console test

2015-05-22

Debuggowanie aplikacji webowych za pomocą Xdebug i PhpStorm

PhpStorm umożliwia debuggowanie kodu, który wyświetlany jest aktualnie przez przeglądarkę internetową. Aby móc cieszyć się tym dobrodziejstwem musimy przejść kilka kroków opisanych poniżej (instrukcja dla dystrybucji linuksa Ubuntu/Mint).

Instalacja Xdebug

sudo apt-get install php5-xdebug
Do php.ini dodajemy:
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000
xdebug.max_nesting_level=300

Restartujemy Apache'a:
sudo service apache2 restart

Utworzenie przycisków odpalających debuggera

Aby uruchomić i zatrzymać debuggera w przeglądarce trzeba podać jej specjalne parametry. Można to zrobić ręcznie lub utworzyć sobie do tego odpowiednie przyciski - np. na pasku zakładek (ja używam właśnie takiego rozwiązania). Pod adresem https://www.jetbrains.com/phpstorm/marklets/ można wygenerować potrzebny kod. 

Start debugger:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

Stop debugger:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

Uruchomienie debuggera

W przeglądarce uruchamiamy debuggera (np. przyciskiem start debugger), przechodzimy do PhpStorma i tam również włączamy debuggowanie (po wcześniejszym ustawieniu breakpointów oczywiście). Wracamy do przeglądarki, uruchamiamy badaną aplikację PHP i po napotkaniu breakpointa powinno nas przenieść automatycznie do PhpStorma w zaznaczone miejsce.

Więcej na ten temat znaleźć można tutaj.

2015-01-14

Doctrine i Symfony - wyświetlenie SQL'a z parametrami

Wyświetlić utworzonego SQL'a możemy za pomocą polecenia:
$qb->getQuery()->getSQL();

a parametry tegoż zapytania za pomocą polecenia:
$qb->getParameters();

Wcześniej oczywiście tworzymy obiekt $qb oraz zapytanie - np:
$qb = $this->createQueryBuilder('l')
 ->where('l.del = :del')
 ->andWhere('l.wysw = :wysw')
 ->andWhere('lower(l.nazwisko) LIKE lower(:szukana) OR lower(l.nrpwz) LIKE lower(:szukana)')
 ->orderBy('l.nazwisko')
 ->setParameters(array(
  'del' => 'false',
  'wysw' => 'true',
  'szukana' => '%' . $szukana . '%'
 ));

Wynik zapytania pobieramy w poniższy sposób:
$qb->getQuery()->getResult();