Peste 50 de trucuri și sfaturi PHP pentru începători și dezvoltatori

PHP este cel mai util limbaj în crearea de bloguri și site-uri web, are o mulțime de funcții care pot fi folosite pentru a obține și mai multe funcții personalizate. Am adunat cele mai utile Trucuri și sfaturi PHP pentru începători și chiar dezvoltatori. Aceste trucuri PHP vă fac codarea productivă și mai eficientă.

Peste 50 de trucuri și sfaturi PHP pentru începători

Lista de trucuri și sfaturi PHP

1. ecoul este mai rapid decât imprimarea.

2. Înfășurați șirul în ghilimele simple (') în loc de ghilimele duble (”) este mai rapid, deoarece PHP caută variabile în „…” și nu în „…”, utilizați acest lucru atunci când nu utilizați variabile pe care trebuie să le evaluați în dvs. şir.

3. Folosiți sprintf în loc de variabile cuprinse între ghilimele duble, este de aproximativ 10 ori mai rapid.

4. Utilizați parametrii multipli ai echo (sau stivuiți) în loc de concatenarea șirurilor.

5. Folosiți precalculări, setați valoarea maximă pentru buclele dumneavoastră înainte și nu în buclă. adică: pentru ($x=0; $x < count($array); $x), aceasta apelează funcția count() de fiecare dată, utilizați în schimb $max=count($array) înainte de a începe bucla for.

6. Anulați sau anulați variabilele pentru a elibera memorie, în special matricele mari.

7. Evitați magia precum __get, __set, __autoload.

8. Folosiți require() în loc de require_once() acolo unde este posibil.

9. Folosiți căi complete în include și necesită, mai puțin timp petrecut pentru rezolvarea căilor sistemului de operare.

10. require() și include() sunt identice în toate privințele, cu excepția necesității opriri dacă fișierul lipsește. În ceea ce privește performanța, există foarte puțină diferență.

11. Începând cu PHP5, ora la care a început execuția scriptului poate fi găsită în $_SERVER['REQUEST_TIME'], utilizați aceasta în loc de time() sau microtime().

12. PCRE regex este mai rapid decât EREG, dar vezi întotdeauna dacă poți folosi funcții native mai rapide, cum ar fi strncasecmp, strpbrk și stripos.

13. Când analizați cu XML în PHP încercați xml2array, care folosește funcțiile PHP XML, pentru HTML puteți încerca documentul DOM al PHP sau DOM XML în PHP4.

14. str_replace este mai rapid decât preg_replace, str_replace este cel mai bun în general, totuși strtr este uneori mai rapid cu șiruri mai mari. Utilizarea array() în interiorul str_replace este de obicei mai rapidă decât mai multe str_replace.

15. Instrucțiunile „altfel dacă” sunt mai rapide decât instrucțiunile select, alias case/switch.

16. Suprimarea erorilor cu @ este foarte lentă.

17. Pentru a reduce utilizarea lățimii de bandă, activați mod_deflate în Apache v2 sau pentru Apache v1 încercați mod_gzip.

18. Închideți conexiunile la baza de date când ați terminat cu ele.

19. $row['id'] este de 7 ori mai rapid decât $row[id], deoarece dacă nu furnizați ghilimele trebuie să ghicească la ce index ați vrut să spuneți, presupunând că nu ați vrut să spuneți o constantă.

20. Utilizare etichetele atunci când declarați PHP, deoarece toate celelalte stiluri sunt depreciate, inclusiv etichetele scurte.

21. Utilizați cod strict, evitați suprimarea erorilor, notificărilor și avertismentelor, rezultând astfel un cod mai curat și mai puține cheltuieli generale. Luați în considerare să aveți mereu activată error_reporting(E_ALL).

22. Scripturile PHP sunt servite de 2-10 ori mai lent de Apache httpd decât o pagină statică. Încercați să utilizați pagini statice în loc de scripturi pe partea serverului.

23. Scripturile PHP (cu excepția cazului în cache) sunt compilate din mers de fiecare dată când le apelați. Instalați un produs de cache PHP (cum ar fi memcached sau eAccelerator sau Turck MMCache) pentru a crește de obicei performanța cu 25-100% prin eliminarea timpilor de compilare. Puteți chiar să configurați eAccelerator pe cPanel folosind EasyApache3.

24. O tehnică alternativă de stocare în cache atunci când aveți pagini care nu se schimbă prea des este să memorați în cache ieșirea HTML a paginilor dvs. PHP. Încercați Smarty sau Cache Lite.

25. Folosiți isset acolo unde este posibil în înlocuirea strlen. (adică: if (strlen($foo) < 5) { echo „Foo este prea scurt”; } vs. if (!isset($foo{5})) { echo „Foo este prea scurt”; } ).

26. ++$i este mai rapid decât $ i++, așa că folosiți pre-increment acolo unde este posibil.

27. Folosiți nenumăratele funcții predefinite ale PHP, nu încercați să vă construiți propria, deoarece cele native vor fi mult mai rapide; dacă aveți funcții care consumă foarte mult timp și resurse, luați în considerare să le scrieți ca extensii C sau module.

28. Profilați codul dvs. Un profiler vă arată ce părți ale codului dvs. consumă cât timp. Depanatorul Xdebug conține deja un profiler. Profilarea vă arată blocajele în prezentare generală.

29. Documentați-vă codul.

30. Învață diferența dintre codul bun și cel rău.

31. Respectați standardele de codare, vă va fi mai ușor să înțelegeți codul altor persoane, iar alți oameni îl vor putea înțelege pe al vostru.

32. Separați codul, conținutul și prezentarea: păstrați codul PHP separat de HTML.

33. Nu vă deranjați să utilizați sisteme de șabloane complexe, cum ar fi Smarty, folosiți-l pe cel care este deja inclus în PHP, vedeți ob_get_contents și extrageți și pur și simplu extrageți datele din baza de date.

34. Nu aveți încredere niciodată în variabilele care provin din terenul utilizatorului (cum ar fi de la $_POST), utilizați mysql_real_escape_string când utilizați mysql și htmlspecialchars când scoateți ca HTML.

35. Din motive de securitate, nu aveți niciodată nimic care ar putea expune informații despre căi, extensii și configurație, cum ar fi display_errors sau phpinfo() în webroot-ul dvs.

36. Dezactivați register_globals (este dezactivat implicit dintr-un motiv!). Niciun script la nivel de producție nu ar trebui să fie activat deoarece este un risc de securitate. Remediați orice scripturi care necesită activarea acestuia și remediați orice scripturi care necesită dezactivare folosind unregister_globals(). Faceți acest lucru acum, deoarece este setat să fie eliminat în PHP6.

37. Evitați utilizarea textului simplu atunci când stocați și evaluați parolele pentru a evita expunerea, folosiți în schimb un hash, cum ar fi un hash md5.

38. Folosiți ip2long() și long2ip() pentru a stoca adrese IP ca numere întregi în loc de șiruri.

39. Puteți evita reinventarea roții folosind proiectul PEAR, oferindu-vă cod existent de un standard înalt.

40. Când utilizați header('Locație: '.$url); amintiți-vă să-l urmați cu un zar(); deoarece scriptul continuă să ruleze chiar dacă locația s-a schimbat sau evitați să-l folosiți împreună, acolo unde este posibil.

41. În POO, dacă o metodă poate fi o metodă statică, declarați-o statică. Îmbunătățirea vitezei este cu un factor de 4..

42. Incrementarea unei variabile locale într-o metodă OOP este cea mai rapidă. Aproape la fel ca apelarea unei variabile locale într-o funcție și creșterea unei variabile globale este de 2 ori mai lentă decât o variabilă locală.

43. Incrementarea proprietății unui obiect (de ex. $this->prop++) este de 3 ori mai lentă decât o variabilă locală.

44. Creșterea unei variabile locale nedefinite este de 9-10 ori mai lentă decât a unei variabile pre-inițializate.

45. Doar declararea unei variabile globale fără a o folosi într-o funcție încetinește lucrurile (aproximativ la fel ca și creșterea unei variabile locale). PHP probabil face o verificare pentru a vedea dacă globalul există.

46. ​​Invocarea metodei pare să fie independentă de numărul de metode definite în clasă, deoarece am adăugat încă 10 metode la clasa de testare (înainte și după metoda de testare) fără nicio modificare a performanței.

47. Metodele din clasele derivate rulează mai repede decât cele definite în clasa de bază.

48. Un apel de funcție cu un parametru și un corp de funcție gol durează aproximativ același timp cu efectuarea a 7-8 operații $localvar++. Un apel de metodă similar este, desigur, de aproximativ 15 operații $localvar++.

49. Nu totul trebuie să fie OOP, de multe ori este doar peste cap, fiecare metodă și apel de obiect consumă multă memorie.

50. Nu aveți încredere niciodată în datele utilizatorului, evadați șirurile pe care le utilizați în interogările SQL folosind mysql_real_escape_string, în loc de mysql_escape_string sau addslashes. De asemenea, rețineți că dacă magic_quotes_gpc este activat, ar trebui să utilizați mai întâi stripslashes.

51. Evitați problema injectării antetului funcției PHP mail().

52. Dezactivați variabilele bazei de date (parola cel puțin), nu ar trebui să aveți nevoie de ea după ce faceți conexiunea la baza de date.

53. RTFM! PHP oferă un manual fantastic, posibil unul dintre cele mai bune de acolo, ceea ce îl face un limbaj foarte practic, oferind exemple de lucru și vorbind în limba engleză simplă.

Acestea sunt câteva dintre trucurile și sfaturile PHP care pot fi foarte utile pentru cei care tocmai au început să învețe limbajul PHP și, de asemenea, pentru cei care se dezvoltă de la o perioadă bună. Totuși, RTFM este cel mai eficient mod de a învăța PHP.

Aishwar Babber

Aishwar Babber este un blogger pasionat și un marketer digital. Îi place să vorbească și să scrie pe blog despre cele mai noi tehnologii și gadgeturi, ceea ce îl motivează să alerge GizmoBase. În prezent, își exersează expertiza în marketing digital, SEO și SMO în calitate de marketer cu normă întreagă în diferite proiecte. Este un investitor activ în AffiliateBay și un director în ImageStation.

22 gânduri despre „Peste 50 de trucuri și sfaturi PHP pentru începători și dezvoltatori”

  1. Postare minunată, aceste sfaturi și trucuri php ajută foarte mult pentru toți dezvoltatorii php noi și de la ea, am primit, de asemenea, câteva sfaturi și trucuri php pe care nu le știu până acum.

    răspuns
  2. Sfaturi grozave, dar cred că ar trebui să schimbați punctul 37. Un simplu hash md5 nu este cu adevărat suficient de sofisticat în lumea în care trăim.

    răspuns
  3. nr. 15
    dacă/altfel este mai rapid decât comutatorul, ai dreptate, am făcut câteva teste,
    dar ar trebui să vă gândiți în ce caz să utilizați comutatorul.

    L-am pedalat, testând 10,1000,100000 și 1 milion de cicluri și rezultatul este:
    în cicluri de 100k obțineți o diferență de 0,13s pe mașina locală (pe serverul exterior, ar trebui să obțineți mai puțină diferență).

    Deci, ar trebui să luați în considerare utilizarea if/else a comutatorului. Prefer să folosesc comutatorul din cauza codului mai curat. Folosind 1 comutator, 2 comutatoare, chiar și 100 de comutatoare în loc de dacă/altfel... nu contează, nu are sens.

    răspuns
  4. nr. 26
    fac testul acum,
    cu $i++ și ++$i

    este simplu – numărul 26 este lipsit de sens până când vrei să folosești mai mult de 10 mil. cicluri.
    Și diferența?

    10mil cicluri cu $i++ 2.67448 s
    10mil cicluri cu ++$i 2.605528 s

    răspuns
  5. 24. (…) Încercați Smarty sau Cache Lite.
    33. Nu vă deranjați să utilizați sisteme de șabloane complexe, cum ar fi Smarty

    OK.

    (eu personal aș șterge numărul 33; smarty (sau alte sisteme de șabloane) are o mulțime de avantaje în comparație cu funcțiile ob_...)

    răspuns
  6. Echo este mai rapid decât imprimarea cu un singur opcode, așa că chiar nu contează, într-adevăr. Și print() este o funcție, echo nu. Incearca asta:

    $variabilă și tipăriți „variabila este setată!”;

    Și despre creșterea: $i += 1; este cel mai rapid.

    Super articol, multumesc!

    răspuns
  7. Aceasta este o rezumare frumoasă a unor trucuri cu codul PHP. Este esențial ca un dezvoltator să ia în considerare și performanța codului pe care îl dezvoltă. Mulțumesc pentru distribuire.

    răspuns
  8. Excelent articol, mulțumesc pentru distribuire
    Sfaturi grozave, dar cred că ar trebui să schimbi punctul 37. Un simplu hash md5 nu este cu adevărat suficient de sofisticat în lumea în care trăim.

    răspuns

Lăsați un comentariu