include, include_once, require или require_once?

У меня есть файл PHP, в котором я определил переменные доступа к серверу, а также mysql_connect и mysql_select_db , так как эти функции регулярно используются почти на каждой странице в бэкэнде, в то время как я использую include () , который сейчас отлично работает для меня, какой метод или функцию вы бы предложили, и я хотел бы знать, есть ли какой-либо недостаток, если я использую include () или это безопасно использовать?

Редактировать: Имея в виду, я буду используя переменную $ _ SESSION .

32
задан Michael Berkowski 17 February 2013 в 14:12
поделиться

5 ответов

Единственное различие между ними состоит в том, что require и его сестра require_once выдают фатальную ошибку, если файл не найден, тогда как include и include_once показывают только предупреждение и продолжают загружать остальную часть страницы. Если вы не хотите, чтобы PHP пытался загрузить остальную часть вашей страницы без информации о базе данных (что я предполагаю), используйте require_once . Вам не нужно включать файл более одного раза, поэтому нет необходимости использовать обычную функцию require .

46
ответ дан 27 November 2019 в 20:19
поделиться

Вам следует использовать include_once (), если вы включаете его на страницу более одного раза.

-1
ответ дан 27 November 2019 в 20:19
поделиться

Для переменных соединения с базой данных предпочтительнее использовать функцию require_once (). Если соединение не удается по какой-либо причине, вы можете показать сообщение об ошибке.

2
ответ дан 27 November 2019 в 20:19
поделиться

Если ваша страница не будет работать без подключения к БД, то единственным правильным вариантом будет require_once (поскольку вы не хотите загружать эти настройки дважды, достаточно загрузить их один раз). Include попытается загрузить вашу страницу, даже если файл настроек недоступен.

1
ответ дан 27 November 2019 в 20:19
поделиться

require() лучше для вас. Потому что с требованием включить файл перед компиляцией скрипта. inluce() с использованием в динамическом включении.

-1
ответ дан 27 November 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: