Egy egyszerű módja annak, hogy a debug programok php
Én ezt a módszert, hogy debug PHP programok már évek talán 10. És ő soha nem hagyott cserben. Ezért úgy döntöttem, hogy ossza meg ezt a folyamatot akkor? Valószínűleg azért, mert fáj, hogy nézd meg az újonnan, akik valamilyen kód, vagy írjon a tisztességes lábszárvédő magukat, ő (természetesen) nem működik, és kezdik megváltoztatni kiszámíthatatlanul mindent próbál valamilyen módon, hogy „megtalálják” az a hely, ahol fekszik a hiba . De ez valójában egy komplex módon, ami nem mindig arra az eredményre vezettek. Tehát itt van, amit sugall.
A legfontosabb dolog hibakeresés programok és keressük meg a „hibákat” - a türelem és a következetesség intézkedéseket. Ha nem követik lépésről lépésre algoritmus nem működik, akkor a végén zavaros, és mi jön.
Sam lépésenként algoritmus csökkenti a soros elrendezése védjegyek a program frissítése oldalak és monitoring információs jelenik meg a böngésző. Ez a legjobb kezdeni egyetlen címkét.
Minden címke valahogy így néz ki
Tolmács PHP kód, ha jön az ilyen címkék a következő fog történni: print „1” a böngésző, akkor azonnal hagyja abba a végrehajtását a program kódját. Így tudni fogja, hogy a programkód elérte ezt a pontot, mint a képernyőn jelenik meg edinichka és ez lesz az utolsó, amely megjelenik a böngészőben. Semmi sem könnyebb megtanulni - van szó, ezt a pontot a tolmács.
Nem lehet elhelyezni az exit (), ha teljesen biztos, hogy a kód nem frissíti az oldalt kivonulása után (nincs frissítés).
További intézkedések lehetnek a következők:
- Tudod mozgatni a címke hibakeresést az alábbi kódot, hogy megtudja, - akár a tolmács érkezik erre a pontra kódot. Nagyon hasznos, ha meg kell találni azt a tényt, trigger, ha a () vagy az a tény, hogy a bejárat az eljárás / függvény.
- Nem lehet megjeleníteni az „1” és valami „# 1 #”, majd keresse meg a HTML forráskód böngésző, nem tévesztendő össze a szokásos hibakeresés kimenete (például, ha egy oldalon van egy csomó másik is).
- Tudod, hogy több tag különböző részein a kódot közvetlenül, de a címke szükségszerűen eltérő, és a kívánt állagot. Például, "# 1 #", "# 2 #", "# 3 #", és így tovább. Így látni fogja a böngészőben, mind a címke, amely elérte, hogy a tolmács, és képes lesz megérteni a logikát, hogy dolgozott a programban.
Általános szabály: mozgassa a kód nagyon lassan, próbálva nem mulaszt el egyetlen pillanatot, ahol a hiba rejlik. Próbáld ki, hogy nagyobb mértékben használják a felező módszer.
kimeneti változók
De mi a jó, hogy a tolmács eléri vagy nem éri el egy bizonyos helyre? Nem informatív. Nézzük még életben!
Gyakran szükség van, hogy az érték a jellemző változók egy adott helyen a kódot. És akkor jöhet a két nagy teljesítményű funkciók - print_r () és var_dump (). Itt van, hogyan lehet használni őket.
Ha látni a tartalmát egy változó, akkor használja a print_r ($ valtozo); vagy print_r ($ obj-> var), ha szeretné látni a tartalmát a tulajdonságait egy adott objektumot. Ha látni az értéke igaz vagy hamis, használja var_dump (). Itt azt kell tisztázni valamit. print_r () függvény már speciálisan kialakított, hogy szépen megjeleníti az értékeket különböző. És akkor kiírja és egész számok és szövegek, és a tömbök és még tárgyak. De az igaz és hamis, ő nem ad, azaz a kimenet mindig egyenlő az üres string. Itt jön a támogatás var_dump (), amely megjeleníti a pontos értékét, típusát, az értéket.
Használja var_dump () mindenhol én nem ajánlom. Következtetés, az általuk generált, úgy néz ki, sokkal bonyolultabb, mint a kimeneti print_r ().
Összesen, hogy ez hogyan fog kinézni a címke tájékoztató:
Én általában ismétlődő címkét a keret a többi karaktert, hogy hol véget ért a vizsgálat befejezése változók. Ez gyakran hasznos.
Akkor még mielőtt minden print_r () kimenet echo «var =»; megérteni, hol, és amelyek értéke látható.
A mérés egy részének az időkód
Nagyon gyakran, amikor a profil (és gyakrabban keresnek „fék” a kód), meg kell mérni a valós idejű teljesítmény egy adott kódrészletet.
A PHP egy nagyszerű funkció microtime (), amely visszaadja az aktuális időt ezredmásodperc. Ha ez adja meg a paraméter igaz, akkor vissza fog térni, mint egy lebegőpontos szám, amire szükségünk van.
Az ötlet a módszer mérési egy darab kódfuttatást ideje csökken az aktuális időt, hogy emlékezzen, mielőtt ezt a darabot, és hasonlítsa össze az aktuális időt a végén a darab. Azaz, például így:
Ebben az esetben, miután a címkén látni fogjuk, az eltöltött idő kódfuttatásra másodperc. Gyakran előfordul, akkor valami ilyesmit: 1.233433E-05, egy mérnöki jelölési nagyon kicsi és nagyon nagy számban. Akkor hozza a szokásos nézet, hozzátéve sprintf () függvényt:
Egy kicsit több kódot, de akkor még több normális fajta 0.000012, azaz 12 ezredmásodperc.
Ez minden ma, holnap fogok írni egy külön cikket, hogy megmondja, hogy még egy hibakereső módszer segítségével a mentesítési a log fájlt (lehet hasznos, ha nem akarja, hogy zavarják a normális működését a helyszínen, hogy a következtetés különböző címkéket az oldalon nem érvényes).