Kode som genererer kode – PHP og JS

Pakkesporingsprosjektet ga meg noen ekstra utfordringer fordi jeg måtte skrive PHP-kode som generer kjørbar JavaScript-kode. I tillegg må alt flettes inn i HTML. Koden blir uoversiktlig og vanskelig å feilsøke. Loop’ene bil spesielt uoversiktlige. Når noe ikke virker må jeg først se om PHP generer JS slik jeg vil ha det, så må jeg se JS-koden faktisk gjør det jeg vil. JS-debug’eren i IE kombinert med view source i FireFox (bra syntax highlighting) fungerte bra.

Et lite eksempel. PHP:

$p = get_position($pnr);
print "pt = new GLatLng(".$p->a.",".$p->a.");\n";
print "bounds.extend(pt);\n";

Gir JavaScript:

pt = new GLatLng(59.9166667,10.75);
bounds.extend(pt);

Her kan av og til get_position returnere feil verdi, da kan JS-koden plutselig bli full av PHP-feilmeldinger. Det er også plundrete å holde styr på skilletegn og paranteser, sjekk slutten av den andre linjen PHP, det er langt fra den verste jeg har sett.

Tags: , , ,

Leave a Reply