Включване на Файлове

Чрез функциите include и require можем да извикваме цялото съдържание на даден файл. Това е много удобно, когато искаме да извикваме един и същи HTML документ или PHP файл на множество места. Можем да вкараме съдържанието на даден PHP файл в друг, чрез include и require. Точното действие, което се извършва от тези функции всъщност е че те копират съдържанието на посоченият файл.
Двете заявки са еднакви по действие, като се различават единствено при поведението си в случай на грешка.

  • include ще създаде предупреждение (E_WARNING) и скрипта ще продължи да се изпълнява, дори и да не може да се зареди вмъкнатия файл.
  • require ще създаде фатална грешка (E_COMPILE_ERROR) ако файла не може да се зареди и скрипта ще спре – сайтът няма да се зареди.

Ако искаме просто да извикаме файл, който не е жизненоважен за сайтът ни, и може да функционира и без него използваме include. Когато зареждаме някакъв ключов файл, без който сайтът ни няма да може да функционира – използваме require. Включването на файлове по този начин спестява много работа. Не се налага да преписвате един и същ код отново и отново. По този начин прилагаме принципа в програмирането DRYDon’t repeat yourself Особено полезно е за включването на HTML хедъри и футъри например. Това са файлове, който са важни, но преписването им във всеки файл където са необходими би отнело изключително много време. Друга много полезна страна е например когато нещо о тези файлове трябва да бъде актуализирано или променено – с помощта на гореизброените функции можете да актуализирате само файла който се include-ва.

Примери с include

Представете си, че имаме футър с име footer.php, който съдържа следния код.

Със следния код, можем да включим същият файл в страницата ни. Тоест – технически – да копираме съдържанието му.

Опитайте сами »

По същия начин, можем да включим и хедър, bootstrap навигация или различни парчета код, който се повтарят на различни страници. Дори и PHP променливи.

можем да включим горния файл към нашия код и да използваме променливите дефинирани в него.

Опитайте сами »

В следващият пример нека да приемем, че имаме стандартен файл с навигационно меню наречен „menu.php“:

Всички страници в уеб сайта трябва да използват този файл за меню. Ето как може да бъде направено (използваме

елемент, така че менюто лесно може да бъде оформено с CSS по-късно):

Опитайте сами »

Разликите между Include и Require

Функцията require също се използва за включване на файл в PHP кода както видяхме в примерите по-горе за include. Синтаксиса на двете заявки е абсолютно идентичен, като единствената разлика между тях е по-горе споменатата, за поведението при грешка. Има обаче една голяма разлика между include и require – когато файл е включен с изявлението include и PHP не може да го намери, скриптът ще продължи да се изпълнява:

Опитайте сами »

Ако разгледаме същият пример използвайки require, echo няма да бъде изпълнено, защото изпълнението на скрипта ще спре принудително, след като require възпроизведе фатална грешка:

Опитайте сами »

За заключение, използвайте include, когато включения файл не е жизнено важен за сайтът, и require, когато искате работата на сайтът да не продължи без включения файл.