Debugging

PHP | Stefanescu Mihai | 2020-10-11

Programatori scriu codul corect din prima incercare de putine ori pentru ca exista prea multe lucruri care pot merge prost in programul tau astfel incat interpretorul PHPsa genereze o eroare. Erorile pot ajunge in mai multe locuri, fie pe ecran fie in log-urile serverului web.

Pentru a afisa mesajele de eroare in browset setati diretciva display_errors pe On, iar pentru a le inregistra in log-uri setati directiva log_errors pe On. Puteti seta ambele directive pe On daca le doriti in ambele locuri.

PHP are o serie de constante deja definite pe care le poti folosi pentru a seta valoarea functiei error_reporting, de exemplu E_ALL (pentru toate erorile mai putin notices), E_PARSE (penturerorile de parse), E_ERROR (pentru erorile fatale), E_WARNING (pentru warning-uri), E_NOTICE (pentru notice-uri), si asa mai departe (Lectie erori)…

In timp ce scriem un program PHP putem folosi in IDE precum Emacs sau Netbeans(versiunea pentru PHP). Una dintre trasaturile speciale ale acestor programe este colorarea codului (syntax highlight) si nici nu mai vorbesc despre intellisense.

Alta trasatura speciala este afisarea intr-un mod diferit a parantezelor, acoladelor ce formeaza  o pereche.Iata cateva lucruri la care trebuie sa va ganditi in timpul debugging-ului.

  • Punct si virgula lipsa– Fiecare cod php se termina cu punct si virgula (;), iar PHP-ul va considera ca sfarsitul unui anumit cod este la punct si virgula.
  • Egal– Cand verificam daca 2 variabile sunt egale avem nevoie de 2 semne egal (==), iar folosirea unui singur egal (atribuire) este o gresela.
  • Variabile scrise gresit– Daca ai scris numele unei variabile greist PHP-ul o va considera o variabila noua.Tine minte, in PHP $test nu este acelasi lucru cu $Test
  • Semnul de dolar lipsa– Un dolar lipsa din numele unei variabile este greu de observat (mai ales cand cunosti si alte limbaje, precum java sau c++) .
  • Ghilimele– Poti avea fie prea multe fie prea putin ghilimele, sau poti deschide un tip de ghilimele si inchide alt tip.Atentie la ghilimele.
  • Paranteze si acolade– Parantezele si Acoladele sunt mereu in perechi de cate 2, nu putem avea una singura.
  • Array-uri– Indexurile array-urilor numerice incep de la 0 nu de la 1

Va recomand ca in stadiul de developement sa afisati erorile pe ecran, iar in productie le salvati in log-uri pentru a sti exact ce sa cautati cand apare o problema.



Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.
       

Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum.

Posteaza un comentariu

Comentarii

Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.

🗝ïļ Login 🌟 Register

🔖 Bookmarks ⊞
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord ⊞

Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.

⮆ïļ