Функция require() идентична функции include(), за исключением того, что она обрабатывает ошибки по-разному. Если возникает ошибка, функция include () генерирует предупреждение (E_WARNING), но скрипт будет продолжать работу, а require() генерирует фатальную ошибку (E_COMPILE_ERROR), и работа скрипта будет завершена.
Файл может задавать переменные, которые используются в других файлах а может использовать существующие. В первом случае необходимо прервать работу скрипта, если файл не существует потому, что корректная работа скрипта будет невозможна.
Допустим, существует файл, который задает некоторые пользовательские настройки (меняет конфигурацию по умолчанию). Существует файл? Подключаем. Нет? Идем дальше и используем настройки по умолчанию.
Так же include можно использовать при подключении шаблонов, которых может и не существовать (PHP сам по себе хороший шаблонизатор).
- Используйте require, когда файл требуется приложению.
- Используйте include, когда файл не требуется, и приложение должно продолжаться, когда файл не найден.
https://www.w3schools.com/php/php_includes.asp