Require і include - stack overflow російською
Вітаю товариші! Розумію, що питання повторюється, але він ще актуальний!
На офіційному ресурсі PHP не йдеться в описі функції require. що вона включає зазначені файли ДО початку роботи обробника, навпаки між require і include як повідомляється немає суттєвої різниці.
Раніше, пам'ятаю, як говорилося про те, що require включає файли ДО початку роботи обробника не звертаючи уваги на положення цієї функції і виконається вона за умовою, чи ні. Використовувалася відповідно для включення потрібних файлів, але була швидше include тому виконувала свою роботу ДО початку роботи обробника.
А include хороший тим, що може динамічно підключати файли, наприклад в циклі, і при відсутності файлу не зупинить роботу сценарію, а лише викличе попередження.
Ось один з експериментів:
Практика показує, що require працює швидше але він збирає підключаються файли на початку роботи скрипта, а include підключає по ходу з цієї логіки випливає, що якщо у вас є умови для підключення файлів, то використовуйте include, якщо немає умов - то require ну і зовні відрізняється показом повідомлень про помилки (якщо файл не доступний) require більш суворий до цієї справи.
(C) якийсь старий сайт, на якому раніше повзав
Якщо пояснювати на пальцях і в грубих виразах, то виходить приблизно таке: include додає код і тут же виконує, в тому час як require спочатку вставить код (до початку виконання скрипта), а виконає його тільки коли до нього дійде. Висновок: в Вашому коді на момент виконання echo функція не визначена. - Байдужий 9 Листопада '12 о 6:21