Есть несколько моментов, которые нужно учесть при подключении файлов.
- В целом есть два варианта их подключения, через
require
и через include
. Оба сделают одно и то же, но второй вариант выдаст warning
при отсутствии файла, а первый - fatal error
.
- Оба варианта имеют свои подварианты, а именно
require_once
и include_once
- в случае использования такой записи файлы включаются в код единожды, и если вы где-то два раза попытаетесь подключить их, подключение произойдет только один раз.
- Путь, который по умолчанию используется в обоих вариантах, зависит от настроек среды, в каких-то случаях он может быть не задан, и тогда путь считается от файла, в котором вы подключаете другие файлы, а в каком-то будет установлена переменная конфигурации include_path и вся ваша логика нарушится. В связи с этим настоятельно рекомендуют подключать файлы с помощью такой конструкции:
include __DIR__ . '/dir/file';
, где __DIR__
- "магическая" переменная, содержащая абсолютный путь до папки вашего срипта.
- Слеши в пути отличаются в разных системах, получить нужный вам можно через предопределенную константу
DIRECTORY_SEPARATOR
.
- Если вы подключаете конкретно конфиг вашей системы, вы можете сделать вот так в скрипте:
$config = include __DIR__ . '/config.php';
, а в конфиге сделать что-то вроде return = ['pass'=>'...', login=>'...']
, после чего в основном скрипте получать переменные через что-то вроде config['pass']
- в целом, работать все будет и без этого, но зато так повысится читаемость вашего кода.