PHP – izpis podatkov – dump – razhroščevanje – debugiranje
Za vse tiste, ki zaenkrat še ne uporabljate kakšnega uporabniškega vmesnika kot je Zend Studio 5.5 ali Eclipse za debugiranje oz. razhroščevanje vaše PHP kode si lahko pomagate s dump funkcijo, ki vidno in pregledno izpisuje PHP spremenljivke oz. podatke v vaših skriptah.
Funkcija dump je bila prvotna napisana s strani Andreja Železnika, positiva.si, kasneje pa je bila deležna nekaj popravkov s strani mene ter malenkostno tudi Rod-a:
-
function dump ($var, $withVarTypes = false) {
-
if ($withVarTypes) {
-
}
-
-
// Instead of returning empty string on boolean false and true, return (bool)true string
-
$var = ($var === true) ? '(bool)true' : $var;
-
$var = ($var === false) ? '(bool)false' : $var;
-
-
echo '
-
<pre style="background: #ddd; border: 1px solid black; margin: 5px; text-align: left; padding: 10px; color: #000; clear: both;">'.
-
'</pre>';
-
}
Funkcija podpira izpis s pomočjo var_dump oz. var_export funkcije. Var_dump vrne zraven izpisa podatkov tudi tip podatka, var_export funkcija pa vrne pravilno PHP kodo, ki jo lahko nato uporabite direktno v vaši PHP kodi. Primerno za izpis tabel (php array), ki jih lahko nato kopirate in prilepite nazaj v vašo skripto. Če ne uporabite parametra $withVarTypes = true, vam funkcijo le pri tipu boolean doda (bool) zraven podatka za lažje pregledovanje rezultatov pri if else blokih.
Vsi posebni znaki se nadomestijo s html entity znaki, da vam ne pokvarijo designa.
Nekaj primerov:
-
#Test 1 - boolean
-
dump(true);
-
#Test 2 - string
-
dump('Dump funkcija je kul');
-
#Test 3 - array
-
#Test 4 - class
-
dump(new XMLWriter);
-
-
#Test 1 - boolean - with var types
-
dump(true, true);
-
#Test 2 - string - with var types
-
dump('Dump funkcija je kul', true);
-
#Test 3 - array - with var types
-
#Test 4 - class - with var types
-
dump(new XMLWriter, true);
Dodatne informacije:
- Razhroščevanje PHP - ONLamp.com
- Xdebug - modul za debugiranje PHP (Eclipse, Zend Studio)
- var_export - vrne pravilno oz. validirano php kodo
Imate tudi vi kakšno uporabno funkcijo za izpis ali izboljšave zgoraj objavljene? Delite jo z nami...
Podobni članki:
- Rezanje teksta po koncu besede – php funkcija – substr – cut text – UTF-8
- Izpis vseh defeniranih spremenljivk v PHP-ju
- Napiši svoj PHP error handler (obdelovalec napak:P)
- Konverzija CP1250, ISO-8859-1 baze v UTF-8 – šumniki UTF-8 – cp1250 to utf8
- Hitri vnos/uvoz podatkov v MySQL preko LOAD DATA INFILE
- PHP funkcije v Javascript jeziku – isset
- PHP – izdelava galerije – preprosta skripta za prikazovanje slik
- PHP – branje Excel (.xls) datoteke – Excel UTF8 branje
- Javascript search in replace string funkcije
- MySQL iskanje LIKE vs FULL-TEXT




May 26th, 2008 ob 4:02 pm
v zadnjem času dosti uporabljam tudi FirePHP, mogoče bo komu koristna zadeva. Debug sporoča preko headerjev brskalniku (imeti moraš Firefox + FireBug), tako da lahko gledaš nek output ne da bi "umazal" response.
May 26th, 2008 ob 4:12 pm
gasper_k, jap uporabna zadeva, bom predstavil čez 2-4 dni.
June 6th, 2008 ob 12:12 am
[...] PHP - izpis podatkov - dump - razhroščevanje - debugiranje [...]