50+ PHP trikova i saveta za početnike i programere

PHP je najkorisniji jezik za pravljenje blogova i veb stranica, ima mnogo funkcija koje se mogu koristiti za izvođenje još više prilagođenih funkcija. Sakupili smo najkorisnije PHP trikovi i saveti za početnike pa čak i programeri. Ovi PHP trikovi čine vaše kodiranje produktivnijim i efikasnijim.

50+ ПХП трикова и савета за почетнике

Листа ПХП трикова и савета

1. ехо је бржи од штампања.

2. Умотавање стринга у једноструке наводнике (') уместо у двоструке наводнике (") је брже јер ПХП тражи променљиве унутар "...", а не у "...", користите ово када не користите променљиве које треба да процените у свом низ.

3. Користите спринтф уместо променљивих садржаних у двоструким наводницима, то је око 10к брже.

4. Користите вишеструке параметре еха (или наслагане) уместо конкатенације низова.

5. Користите пред-калкулације, поставите максималну вредност за ваше фор-петље пре, а не у петљи. тј: за ($к=0; $к < цоунт($арраи); $к), ово позива функцију цоунт() сваки пут, користите $мак=цоунт($арраи) уместо тога пре него што започне фор-петља.

6. Поништите или поништите своје варијабле да бисте ослободили меморију, посебно велике низове.

7. Избегавајте магију попут __гет, __сет, __аутолоад.

8. Користите рекуире() уместо рекуире_онце() где је то могуће.

9. Користите пуне путање у укључује и захтева, мање времена утрошеног на решавање ОС путања.

10. рекуире() и инцлуде() су идентични у сваком погледу осим захтевају заустављања ако датотека недостаје. Што се тиче перформанси, разлика је врло мала.

11. Од ПХП5, време када је скрипта почела да се извршава може се наћи у $_СЕРВЕР['РЕКУЕСТ_ТИМЕ'], користите ово уместо тиме() или мицротиме().

12. ПЦРЕ регек је бржи од ЕРЕГ-а, али увек видите да ли можете да користите брже изворне функције као што су стрнцасецмп, стрпбрк и стрипос.

13. Када анализирате КСМЛ у ПХП-у, покушајте са кмл2арраи, који користи ПХП КСМЛ функције, за ХТМЛ можете испробати ПХП-ов ДОМ документ или ДОМ КСМЛ у ПХП4.

14. стр_реплаце је бржи од прег_реплаце, стр_реплаце је најбољи у целини, међутим стртр је понекад бржи са већим стринговима. Коришћење арраи() унутар стр_реплаце је обично брже од вишеструких стр_реплаце.

15. „елсе иф“ наредбе су брже од наредби селецт ака цасе/свитцх.

16. Потискивање грешака са @ је веома споро.

17. Да бисте смањили коришћење пропусног опсега, укључите мод_дефлате у Апацхе в2 или за Апацхе в1 покушајте мод_гзип.

18. Затворите своје везе са базом података када завршите са њима.

19. $ров['ид'] је 7 пута бржи од $ров[ид], јер ако не унесете наводнике, мора да погоди на који индекс сте мислили, под претпоставком да нисте мислили на константу.

20. Користите ознаке приликом декларисања ПХП-а пошто се сви остали стилови амортизују, укључујући кратке ознаке.

21. Користите строги код, избегавајте потискивање грешака, обавештења и упозорења, што резултира чистијим кодом и мањим трошковима. Размислите о томе да је еррор_репортинг(Е_АЛЛ) увек укључено.

22. Апацхе хттпд испоручује ПХП скрипте 2-10 пута спорије од статичне странице. Покушајте да користите статичне странице уместо скрипти на страни сервера.

23. ПХП скрипте (осим ако нису кеширане) се компајлирају у ходу сваки пут када их позовете. Инсталирајте ПХП производ за кеширање (као што је мемцацхед или еАццелератор или Турцк ММЦацхе) да бисте обично повећали перформансе за 25-100% уклањањем времена компајлирања. Можете чак да подесите еАццелератор на цПанелу користећи ЕасиАпацхе3.

24. Алтернативна техника кеширања када имате странице које се не мењају пречесто је кеширање ХТМЛ излаза ваших ПХП страница. Испробајте Смарти или Цацхе Лите.

25. Користите иссет где је то могуће за замену стрлен. (тј.: иф (стрлен($фоо) < 5) { ецхо „Фоо је прекратак“; } наспрам иф (!иссет($фоо{5})) { ецхо „Фоо је прекратак“; }).

26. ++$и је бржи од $ и++, па користите пре-инкремент тамо где је то могуће.

27. Искористите безброј унапред дефинисаних функција ПХП-а, не покушавајте да направите сопствену јер ће оне нативе бити много брже; ако имате функције које троше много времена и ресурса, размислите о њиховом писању као Ц екстензије или модуле.

28. Профилирајте свој код. Профилер вам показује који делови вашег кода троше колико времена. Ксдебуг програм за отклањање грешака већ садржи профилер. Профилисање вам показује уска грла у прегледу.

29. Документујте свој код.

30. Научите разлику између доброг и лошег кода.

31. Држите се стандарда кодирања, то ће вам олакшати разумевање кода других људи, а други људи ће моћи да разумеју ваш.

32. Одвојите код, садржај и презентацију: држите ПХП код одвојено од ХТМЛ-а.

33. Немојте се трудити да користите сложене системе шаблона као што је Смарти, користите онај који је већ укључен у ПХП, погледајте об_гет_цонтентс и издвојите, и једноставно извуците податке из ваше базе података.

34. Никада немојте веровати променљивим које долазе из корисничког земљишта (као што је из $_ПОСТ) користите мискл_реал_есцапе_стринг када користите мискл и хтмлспециалцхарс када шаљете као ХТМЛ.

35. Из безбедносних разлога никада немојте имати ништа што би могло да открије информације о путањама, екстензијама и конфигурацији, као што су дисплаи_еррорс или пхпинфо() у вашем веб роот-у.

36. Искључите регистер_глобалс (подразумевано је онемогућено са разлогом!). Ниједној скрипти на производном нивоу ово не би требало да буде омогућено јер представља безбедносни ризик. Поправите све скрипте које то захтевају и поправите све скрипте које то захтевају помоћу унрегистер_глобалс(). Урадите то сада, пошто је подешено да буде уклоњено у ПХП6.

37. Избегавајте коришћење обичног текста приликом складиштења и процене лозинки да бисте избегли излагање, уместо тога користите хеш, као што је мд5 хеш.

38. Користите ип2лонг() и лонг2ип() за чување ИП адреса као целих бројева уместо низова.

39. Можете избећи поновно измишљање точка коришћењем ПЕАР пројекта, који вам даје постојећи код високог стандарда.

40. Када користите хеадер('Локација: '.$урл); запамтите да га пратите са дие(); пошто скрипта наставља да ради иако је локација промењена или избегавајте да га користите заједно где је то могуће.

41. У ООП-у, ако метод може бити статичан, прогласите га статичним. Побољшање брзине је за фактор 4..

42. Повећање локалне променљиве у ООП методи је најбрже. Скоро исто као позивање локалне променљиве у функцији и повећање глобалне променљиве је 2 пута спорије од локалне променљиве.

43. Повећање својства објекта (нпр. $тхис->проп++) је 3 пута спорије од локалне променљиве.

44. Повећање недефинисане локалне променљиве је 9-10 пута спорије од претходно иницијализоване.

45. Само декларисање глобалне променљиве без њеног коришћења у функцији успорава ствари (за отприлике исту количину као повећање локалне вар). ПХП вероватно проверава да ли глобално постоји.

46. ​​Чини се да је позивање метода независно од броја метода дефинисаних у класи јер сам додао још 10 метода тестној класи (пре и после тест методе) без промене у перформансама.

47. Методе у изведеним класама раде брже од оних дефинисаних у основној класи.

48. Позив функције са једним параметром и празним телом функције траје отприлике исто време као и извођење 7-8 $лоцалвар++ операција. Сличан позив метода је наравно око 15 $лоцалвар++ операција.

49. Не мора све бити ООП, често је то само преко главе, сваки позив метода и објекта троши много меморије.

50. Никада не верујте корисничким подацима, избегавајте своје стрингове које користите у СКЛ упитима помоћу мискл_реал_есцапе_стринг, уместо мискл_есцапе_стринг или додавања косе црте. Такође имајте на уму да ако је магиц_куотес_гпц омогућен, прво треба да користите траке косе црте.

51. Избегните проблем са убризгавањем заглавља функције ПХП маил().

52. Поништите варијабле базе података (минимално лозинку), не би вам требала након што успоставите везу са базом података.

53. РТФМ! ПХП нуди фантастичан приручник, вероватно један од најбољих на свету, што га чини веома практичним језиком, пружајући радне примере и причање на обичном енглеском.

Ово су неки од ПХП трикова и савета који могу бити веома корисни за оне који су тек почели да уче ПХП језик, а такође и за оне који се развијају од доброг времена. Ипак, РТФМ је најефикаснији начин за учење ПХП-а.

Аисхвар Баббер

Аисхвар Баббер је страствени блогер и дигитални маркетер. Воли да прича и блогује о најновијим технологијама и уређајима, што га мотивише да трчи ГизмоБасе. Тренутно практикује своју експертизу у области дигиталног маркетинга, СЕО-а и СМО-а као стални маркетер на различитим пројектима. Активан је инвеститор у АффилиатеБаи и директор у ИмагеСтатион-у.

22 мисли о „50+ ПХП трикова и савета за почетнике и програмере“

  1. број 15
    иф/елсе је бржи од прекидача, у праву си, урадио сам неке тестове,
    али треба да размислите у ком случају да користите прекидач.

    Провео сам га, тестирајући 10,1000,100000 и 1 милион циклуса и резултат је:
    у 100к циклуса добијате 0,13с разлике на локалној машини (на спољном серверу, требало би да добијете мању разлику).

    Дакле, требало би да размислите о коришћењу иф/елсе прекидача. Више волим да користим прекидач због чистијег кода. Коришћење 1 прекидача, 2 прекидача, чак 100 прекидача уместо иф/елсе … нема везе, бесмислено је.

    одговорити
  2. 24. (...) Пробајте Смарти или Цацхе Лите.
    33. Немојте се трудити да користите сложене системе шаблона као што је Смарти

    ок.

    (ја бих лично само избрисао #33; паметни (или други системи шаблона) има много предности у поређењу са об_ функцијама…)

    одговорити
  3. Ехо је бржи од штампања за један операцијски код, тако да то заиста није важно. И принт() је функција, а ехо није. Пробајте ово:

    $варијабле и принт 'променљива је постављена!';

    И о повећању: $и += 1; је најбржи.

    Одличан чланак, хвала!

    одговорити

Оставите коментар