Разликите помеѓу include и require во PHP

include require razliki
PHP програмерите доста често ги користат функциите include(), include_once(), require(), require_once() за вметнување на датотеки со PHP код во „текот“ на извршување на некоја апликација. Овие функции всушност се дел од самиот јазик PHP и се language constructs, што значи можат да се користат и без заградите, со наведување на името на датотеката во наводници. Иако овие функции се користат во многу ситуации без да се внимава што всушност прават, сепак меѓу нив има значајни разлики. Тие се многу добро документирани во онлајн документацијата за PHP, а сепак повеќето од програмерите, посебно оние почетниците, не знаат, или не внимаваат како ги користат овие функции.

Разликите помеѓу include() и include_once(), и разликите помеѓу require() и require_once() се јасни по нивното именување. Односно, include() и require() овозможуваат да се вметнуваат (внесуваат) датотеки повеќе пати во еден „тек“ на извршување на една апликација. Додека include_once() и require_once() со сигурност овозможуваат вметнување на датотека еднаш, при што се прави проверка дали таа датотека е веќе вметната.

Помалку очигледни, а многу позначајни разлики има помеѓу include() и require(), и помеѓу include_once() и require_once(). Иако самите имиња се доста описни во врска со нивната употреба, посебно почетниците не обрнуваат многу внимание на тоа.

Како што наведуваат и имињата, со include(), вклучуваме датотеки во „текот“ на извршување на апликацијата, додека пак со require() истотака вклучуваме датотека, но во исто време му кажуваме на PHP дека не може да продолжи со извршувањето без таа датотека, односно дека таа датотека е „неопходна“. Односно, во потехничка смисла кажано, кога функцијата include() ќе јави грешка т.е. нема да ја најде наведената датотека за вклучување, извршувањето на кодот ќе продолжи без таа датотека и притоа ќе се појави грешка од типот Warning. Додека пак со require(), извршувањето ќе запре и ќе се појави Fatal Error. За прикажување и криење на грешки имаме пишувано претходно.

Така, доколку сакате корисникот да го види резултатот од извршувањето на апликацијата без разлика дали некоја датотека случајно недостасува или пак тоа е дел од логиката на апликацијата, користете ги include() и include_once().

Од друга страна пак, доколку користите framework, CMS или некоја друга покомплексна структура на апликација, секогаш користете ги require() и require_once() за вметнување на клучни датотеки како класи и интерфејси. Така ќе избегнете компромитирање на вашата апликација од аспект на сигурност и интегритет.

gravatar
Автор: Горан Митев
За авторот: Freelance PHP програмер којшто професионално работи развој на комплексни веб апликации, CMS решенија, Е-Бизнис решенија, Wordpress. повеќе >>

Comments are closed.