Hibakeresés PHP-ban

Tartalom

Bevezető
Elég gyakori, hogy alapvető hibákat nem találnak meg kezdő, vagy sokszor haladó programozók sem. Ehhez próbálok segítséget nyújtani pár hasznos tanáccsal. Érdemes megfogadni őket. Leginkább PHP-ról fogok szólni a cikkben, de megpróbálok általánosságban is megemlíteni pár dolgot.

Alapvetően kétféle hibát különböztethetünk meg.

  1. Szintaktikai
    Ebben az esetben valószínűleg elírtunk valamit a programkódban, és egy olyan utasítás került a forrásba, ami nem értelmezhető az adott nyelven, vagy lehagytunk egy fontos elemet figyelmetlenségből. Például egy pontosvesszőt az utasítás végén, ha a programnyelv igényli. Ha szintaktikai hibát ejtünk, a program nem fordul le, illetve script nyelv esetén hibaüzenettel leáll értelmezéskor.

  2. Szemantikai
    Meglehet, hogy a kódunk szintaktikailag helyes, és látszólag minden a helyén van, de nem gondoltuk át kellőképpen, hogy mit is szeretnénk megvalósítani. Esetleg nem ismerjük kellőképpen a használt függvények működését, és rossz módszert alkalmazunk, aminek következtében a program bár helyes, tényleg nem azt fogja „művelni” amit elvárnánk tőle.

Nos, egyik esetben sem a számítógépünket kell püfölni, vagy gondolkodás nélkül írni egy fórumra, és leírni, hogy „nem működik, segítsetek”. Első lépés, hogy gondolkodunk magunk, és utánajárunk, miben hibáztunk. Majd csak a második lépés lehet, hogy más segítségét is igénybe vesszük. Elvégre emberek vagyunk. Lehet, hogy nem tűnik fel valami akkor sem, ha szinte kiszúrja a szemünket.

Na de nézzük meg a lehetséges hibajelenségeket, és a hiba detektálásának módjait.

Megosztás/Mentés

Rugalmas nyelvkezelés

Gyakran van szükség arra, hogy egy weboldalt több nyelven jelenítsünk meg.
Ennek ma már több formája is létezik. Az egyik, amikor minden nyelvnek külön fájlt hozunk létre egy languages mappában, és abban egy asszociatív tömbben felsoroljuk az egyes tartalmakat.
Ezzel a módszerrel mutatom meg, hogyan lehet úgy kezelni a nyelveket, hogy amennyiben az alapértelmezett nyelven minden szöveg definiálva van, azon a nyelven jelenjen meg a tartalom, ha a kiválasztott nyelven nem létezik még, vagy szándékosan nem definiáltunk egy értéket. Esetleg maga a nyelv sem létezik, amit megadtunk.

Megosztás/Mentés