50+ PHP Trick at Tip para sa Mga Nagsisimula at Developer

Ang PHP ay pinaka-kapaki-pakinabang na wika sa paggawa ng mga blog at website, mayroon itong maraming mga function na maaaring magamit upang makakuha ng higit pang mga custom na function. Natipon namin ang pinakakapaki-pakinabang Mga Trick at Tip sa PHP para sa mga nagsisimula at maging ang mga Developer. Ang mga PHP Trick na ito ay ginagawang produktibo at mas epektibo ang iyong coding.

50+ PHP Trick at Tip para sa Mga Nagsisimula

Listahan ng Mga Trick at Tip sa PHP

1. ang echo ay mas mabilis kaysa sa pag-print.

2. I-wrap ang iyong string sa mga single quotes (') sa halip na double quotes (”) ay mas mabilis dahil naghahanap ang PHP ng mga variable sa loob ng “…” at hindi sa '…', gamitin ito kapag hindi ka gumagamit ng mga variable na kailangan mong suriin sa iyong string.

3. Gumamit ng sprintf sa halip na mga variable na nasa double quotes, ito ay halos 10x na mas mabilis.

4. Gumamit ng maraming parameter (o nakasalansan) ng echo sa halip na pagsasama-sama ng string.

5. Gumamit ng mga paunang kalkulasyon, itakda ang maximum na halaga para sa iyong mga for-loop bago at hindi sa loop. ie: para sa ($x=0; $x <count($array); $x), tinatawag nito ang count() function sa bawat oras, gamitin ang $max=count($array) sa halip bago magsimula ang for-loop.

6. I-unset o null ang iyong mga variable sa libreng memorya, lalo na ang malalaking array.

7. Iwasan ang magic tulad ng __get, __set, __autoload.

8. Gumamit ng require() sa halip na require_once() kung posible.

9. Gumamit ng buong mga path sa kasama at nangangailangan, mas kaunting oras na ginugol sa paglutas ng mga path ng OS.

10. require() at include() ay magkapareho sa lahat ng paraan maliban sa humihingi ng mga paghinto kung nawawala ang file. Sa pagganap, napakaliit ng pagkakaiba.

11. Dahil PHP5, ang oras kung kailan nagsimulang isagawa ang script ay makikita sa $_SERVER['REQUEST_TIME'], gamitin ito sa halip na time() o microtime().

12. Ang PCRE regex ay mas mabilis kaysa sa EREG, ngunit palaging tingnan kung maaari kang gumamit ng mas mabilis na mga katutubong function tulad ng strncasecmp, strpbrk at stripos sa halip.

13. Kapag nag-parse gamit ang XML sa PHP subukan ang xml2array, na gumagamit ng PHP XML function, para sa HTML maaari mong subukan ang PHP's DOM document o DOM XML sa PHP4.

14. Ang str_replace ay mas mabilis kaysa sa preg_replace, ang str_replace ay pinakamahusay sa pangkalahatan, gayunpaman ang strtr ay minsan mas mabilis na may mas malalaking string. Ang paggamit ng array() sa loob ng str_replace ay karaniwang mas mabilis kaysa sa maramihang str_replace.

15. Ang mga pahayag na "iba kung" ay mas mabilis kaysa sa mga piling pahayag aka case/switch.

16. Napakabagal ng pagsugpo sa error sa @.

17. Upang bawasan ang paggamit ng bandwidth, i-on ang mod_deflate sa Apache v2 o para sa Apache v1 subukan ang mod_gzip.

18. Isara ang iyong mga koneksyon sa database kapag tapos ka na sa kanila.

19. Ang $row['id'] ay 7 beses na mas mabilis kaysa sa $row[id], dahil kung hindi ka magbibigay ng mga quote, kailangan nitong hulaan kung aling index ang ibig mong sabihin, sa pag-aakalang hindi ang ibig mong sabihin ay pare-pareho.

20. Gamitin mga tag kapag nagdedeklara ng PHP dahil ang lahat ng iba pang mga estilo ay pinababa ng halaga, kabilang ang mga maiikling tag.

21. Gumamit ng mahigpit na code, iwasan ang pagpigil sa mga error, abiso at babala kaya nagreresulta sa mas malinis na code at mas kaunting mga overhead. Isaalang-alang ang pagkakaroon ng error_reporting(E_ALL) palaging naka-on.

22. Ang mga script ng PHP ay inihahatid sa 2-10 beses na mas mabagal ng Apache httpd kaysa sa isang static na pahina. Subukang gumamit ng mga static na pahina sa halip na mga script sa gilid ng server.

23. Ang mga script ng PHP (maliban kung naka-cache) ay pinagsama-sama sa mabilisang tuwing tatawag ka sa kanila. Mag-install ng PHP caching na produkto (gaya ng memcached o eAccelerator o Turck MMCache) upang karaniwang taasan ang performance ng 25-100% sa pamamagitan ng pag-alis ng mga oras ng pag-compile. Maaari mo ring i-setup ang eAccelerator sa cPanel gamit ang EasyApache3.

24. Ang isang alternatibong pamamaraan ng pag-cache kapag mayroon kang mga pahina na hindi masyadong madalas na nagbabago ay ang pag-cache ng HTML na output ng iyong mga pahina sa PHP. Subukan ang Smarty o Cache Lite.

25. Gamitin ang isset kung posible bilang kapalit ng strlen. (ibig sabihin: if (strlen($foo) < 5) { echo “Masyadong maikli si Foo”; } vs. if (!isset($foo{5})) { echo “Masyadong maikli si Foo”; } ).

26. Ang ++$i ay mas mabilis kaysa sa $ i++, kaya gumamit ng pre-increment kung posible.

27. Gamitin ang hindi mabilang na paunang-natukoy na mga function ng PHP, huwag subukang bumuo ng iyong sarili dahil ang mga native ay magiging mas mabilis; kung mayroon kang napakaraming oras at mga pag-andar na umuubos ng mapagkukunan, isaalang-alang ang pagsulat ng mga ito bilang mga C extension o module.

28. I-profile ang iyong code. Ipinapakita sa iyo ng isang profiler, kung aling mga bahagi ng iyong code ang kumukonsumo kung gaano karaming oras. Ang Xdebug debugger ay naglalaman na ng profiler. Ipinapakita sa iyo ng pag-profile ang mga bottleneck sa pangkalahatang-ideya.

29. Idokumento ang iyong code.

30. Alamin ang pagkakaiba sa pagitan ng mabuti at masamang code.

31. Manatili sa coding standards, mas madali para sa iyo na maunawaan ang code ng ibang tao at mauunawaan ng ibang tao ang iyong code.

32. Paghiwalayin ang code, nilalaman at presentasyon: panatilihing hiwalay ang iyong PHP code sa iyong HTML.

33. Huwag mag-abala sa paggamit ng mga kumplikadong sistema ng template tulad ng Smarty, gamitin ang isa na kasama na sa PHP, tingnan ang ob_get_contents at extract, at kunin lang ang data mula sa iyong database.

34. Huwag kailanman magtiwala sa mga variable na nagmumula sa lupain ng gumagamit (tulad ng mula sa $_POST) gumamit ng mysql_real_escape_string kapag gumagamit ng mysql, at htmlspecialchars kapag nag-output bilang HTML.

35. Para sa mga kadahilanang pangseguridad, walang anumang bagay na maaaring maglantad ng impormasyon tungkol sa mga path, extension at configuration, tulad ng display_errors o phpinfo() sa iyong webroot.

36. I-off ang register_globals (ito ay hindi pinagana bilang default para sa isang dahilan!). Walang script sa antas ng produksyon ang dapat na kailangan itong paganahin dahil ito ay isang panganib sa seguridad. Ayusin ang anumang mga script na nangangailangan nito, at ayusin ang anumang mga script na nangangailangan nito gamit ang unregister_globals(). Gawin ito ngayon, dahil nakatakda itong alisin sa PHP6.

37. Iwasang gumamit ng plain text kapag nag-iimbak at nagsusuri ng mga password upang maiwasan ang pagkakalantad, sa halip ay gumamit ng hash, gaya ng md5 hash.

38. Gumamit ng ip2long() at long2ip() upang mag-imbak ng mga IP address bilang mga integer sa halip na mga string.

39. Maaari mong maiwasan ang muling pag-imbento ng gulong sa pamamagitan ng paggamit ng proyektong PEAR, na nagbibigay sa iyo ng umiiral na code ng mataas na pamantayan.

40. Kapag gumagamit ng header('Lokasyon: '.$url); tandaan na sundan ito ng isang die(); habang ang script ay patuloy na tumatakbo kahit na ang lokasyon ay nagbago o iwasang gamitin ito nang magkasama kung saan posible.

41. Sa OOP, kung ang isang pamamaraan ay maaaring isang static na pamamaraan, ideklara itong static. Ang pagpapabuti ng bilis ay sa pamamagitan ng isang kadahilanan ng 4..

42. Ang pagdaragdag ng lokal na variable sa isang OOP na pamamaraan ay ang pinakamabilis. Halos kapareho ng pagtawag sa isang lokal na variable sa isang function at sa pagtaas ng isang global variable ay 2 beses na mabagal kaysa sa isang lokal na variable.

43. Ang pagdaragdag ng isang object property (hal. $this->prop++) ay 3 beses na mas mabagal kaysa sa isang lokal na variable.

44. Ang pagdaragdag ng hindi natukoy na lokal na variable ay 9-10 beses na mas mabagal kaysa sa isang paunang inisyal.

45. Ang pagdedeklara lang ng global variable nang hindi ginagamit ito sa isang function ay nagpapabagal sa mga bagay-bagay (sa halos kaparehong halaga ng pagtaas ng lokal na var). Malamang na sinusuri ng PHP kung umiiral ang global.

46. ​​Ang method invocation ay lumilitaw na independiyente sa bilang ng mga pamamaraan na tinukoy sa klase dahil nagdagdag ako ng 10 pang pamamaraan sa test class (bago at pagkatapos ng test method) na walang pagbabago sa performance.

47. Ang mga pamamaraan sa mga nagmula na klase ay tumatakbo nang mas mabilis kaysa sa mga tinukoy sa batayang klase.

48. Ang isang function call na may isang parameter at isang walang laman na function body ay tumatagal ng halos kapareho ng paggawa ng 7-8 $localvar++ na operasyon. Ang isang katulad na paraan ng tawag ay siyempre tungkol sa 15 $localvar++ na operasyon.

49. Hindi lahat ng bagay ay kailangang OOP, kadalasan ito ay nasa itaas lamang, ang bawat pamamaraan at object call ay gumagamit ng maraming memorya.

50. Huwag kailanman magtiwala sa data ng user, takasan ang iyong mga string na ginagamit mo sa mga query sa SQL gamit ang mysql_real_escape_string, sa halip na mysql_escape_string o addslashes. Tandaan din na kung pinagana ang magic_quotes_gpc dapat mo munang gamitin ang mga stripslashes.

51. Iwasan ang PHP mail() function header injection issue.

52. I-unset ang iyong mga variable ng database (ang password sa pinakamababa), hindi mo ito dapat kailanganin pagkatapos mong gawin ang koneksyon sa database.

53. RTFM! Nag-aalok ang PHP ng isang hindi kapani-paniwalang manwal, posibleng isa sa pinakamahusay doon, na ginagawa itong isang napaka-hands on na wika, na nagbibigay ng mga gumaganang halimbawa at nagsasalita sa simpleng Ingles.

Ito ang ilan sa mga Trick at Tip sa PHP na maaaring maging lubhang kapaki-pakinabang para sa mga nagsisimula pa lamang sa pag-aaral ng wikang PHP, at para din sa mga umuunlad mula noong isang magandang panahon. RTFM ay ang pinaka mahusay na paraan upang matuto ng PHP bagaman.

Aishwar Babber

Si Aishwar Babber ay isang masigasig na blogger at isang digital marketer. Mahilig siyang makipag-usap at mag-blog tungkol sa pinakabagong teknolohiya at mga gadget, na nag-uudyok sa kanya na tumakbo GizmoBase. Siya ay kasalukuyang nagsasanay sa kanyang digital marketing, SEO, at SMO na kadalubhasaan bilang isang full-time na marketer sa iba't ibang mga proyekto. Siya ay isang aktibong mamumuhunan sa AffiliateBay at isang direktor sa ImageStation.

22 mga saloobin sa "50+ PHP Trick at Mga Tip para sa Mga Nagsisimula at Nag-develop"

  1. Kahanga-hangang post, ang mga tip at trick ng php na ito ay nakakatulong nang malaki para sa lahat ng bagong developer ng php at mula dito, nakakuha din ako ng ilang mga tip at trick sa php na hindi ko alam hanggang sa lahat.

    tumugon
  2. Mahusay na mga tip, ngunit sa palagay ko ay dapat mong baguhin ang punto 37. Ang isang simpleng md5 hash ay hindi masyadong sopistikado sa mundong ating ginagalawan.

    tumugon
  3. 15
    kung mas mabilis kaysa sa switch, tama ka, gumawa ako ng ilang pagsubok,
    ngunit dapat mong isaalang-alang kung saang kaso gagamitin ang switch.

    I've cycled it, testing 10,1000,100000 and 1million cycles and result is:
    sa 100k cycle makakakuha ka ng 0,13s na pagkakaiba sa lokal na makina (sa labas ng server, dapat kang makakuha ng mas kaunting pagkakaiba).

    Kaya dapat mong isaalang-alang ang paggamit ng if/else ng switch. Mas gusto kong gumamit ng switch dahil sa mas malinis na code. Gamit ang 1 switch, 2 switch, kahit 100 switch sa halip na if/else … hindi mahalaga, wala itong kahulugan.

    tumugon
  4. 26
    nagpapatakbo ako ng pagsubok ngayon,
    may $i++ at ++$i

    ito ay simple - ang numero 26 ay walang kahulugan hanggang sa gusto mong gumamit ng higit sa 10mil. mga cycle.
    At pagkakaiba?

    10mil cycle na may $i++ 2.67448 s
    10mil cycle na may ++$i 2.605528 s

    tumugon
  5. 24. (…) Subukan ang Smarty o Cache Lite.
    33. Huwag mag-abala sa paggamit ng mga kumplikadong sistema ng template tulad ng Smarty

    okey.

    (Personal kong tatanggalin ang #33; ang matalino (o iba pang mga sistema ng pag-template) ay may maraming mga pakinabang kumpara sa mga function ng ob_…)

    tumugon
  6. Ang Echo ay mas mabilis kaysa sa pag-print sa pamamagitan ng isang opcode kaya talagang hindi mahalaga, talaga. At ang print() ay isang function, ang echo ay hindi. Subukan mo ito:

    $variable at i-print ang 'variable is set!';

    At tungkol sa pagdaragdag: $i += 1; ay ang pinakamabilis.

    Mahusay na artikulo, salamat!

    tumugon
  7. Mahusay na Artikulo salamat sa pagbabahagi
    Mahusay na mga tip, ngunit sa palagay ko dapat mong baguhin ang punto 37. Ang isang simpleng md5 hash ay hindi masyadong sopistikado sa mundong ating ginagalawan.

    tumugon

Mag-iwan ng komento