Пути подключаемых файлов

kombat

Новичок
Пути подключаемых файлов

Приветствую.

Есть четыре файла: index.php (лежит в корне сайта), mydb.php (папка database), config.php (папка database), other.php (папка temp).

В index.php есть запись "require("database/mydb.php");". mydb.php в свою очередь подключает другой файл "require("config.php");", который находится в той же папке, что и mydb.php . other.php включает в себя mydb.php.

думаю, профессионалы, уже поняли в чем проблема и что я хочу спросить ;) как быть с config.php? не дублировать же его во всех папках ))

использовать абсолютный путь от корня сайта меня не устраивает, т.к. хочу сохранить возможность переносить всю конструкцию во вложенную папку.

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

Заранее спасибо.
 

Bitterman

Новичок
Подключать конфиг не в файлах, которые инклюдишь, а в файлах, которые вызываешь. То есть в твоем случае - в файлах index.php и other.php
 

AmdY

Пью пиво
Команда форума
include_path, константы, относительные пути
 

dimagolov

Новичок
kombat, почитать ман по include слабо? (require это его разновидность, что написано в мане по require)
 

kombat

Новичок
Автор оригинала: AmdY
include_path, константы, относительные пути
Буду благодарен, если вы поясните...

Константы: имеется ввиду переменная с начальным путем?

Относительный путь: т.е. в скриптах, которые подключают другие скрипты придется писать что-то типа <$rootpath = "../../"> и использовать этот rootpath в include()?

Какими способами пользуются Гуру на этом сайте? Если какие-нибудь подводные камни у данных способов?
 

Sokil.Dmytro

Новичок
я подключаю конфиги в главном файлике подключающем все остальное и у мну все в одном "контексте". проблем нет, все текущая папка всегда рут...
 

cDLEON

Онанист РНРСlub
kombat
Если файл config.php нужен тебе только для mydb.php, то почему бы не инклудить так:
PHP:
require(dirname(__FILE__)."config.php");
?
 

cDLEON

Онанист РНРСlub
Sokil.Dmytro
Для заинклуженного из рута mydb.php - нет.
 

dark-demon

d(^-^)b
если написать фронт-контроллер, то все пути будут относительно него...
 

dark-demon

d(^-^)b
kombat, это скрипт, который обрабатывает все входящие запросы - подключает библиотеки, инициализирует конфиг, определяет какой скрипт должен обработать запрос и передаёт управление ему.
 

Фанат

oncle terrible
Команда форума
абсолютные пути. это даже не обсуждается.
путь всегда должен быть абсолютным. независимо ни от каких условий.
а вот уже как их раелазовать - есть способы.
Какими способами пользуются Гуру на этом сайте?
лично я пользуюсь либо auto_prepend_file, где задаю все установки сайта, либо, если нет такой возможности - во все скрипты включается строчка с инклюдом файла конфига по абсолютному пути. А остальное, как и в предыдущем случае, берется из него
 

Армян

Новичок
можно всетаки ответ плиз ? ввиде линка на какуюнибудь статью по этому вопросу :)
 

Фанат

oncle terrible
Команда форума
Армян
ты, наверное, думаешь, что статьи берутся из воздуха. и бывают на все случаи жизни.
так вот, это не так. статьи пишут люди. причем только на действительно важные темы.
лично я еще не встречал человека, который бы подорвался объяснять ламерам разницу между абсолютными и относительными
всегда юзал относительные пути, вроде проблем небыло.
мля.
проблем не было?
а это кто писал:
думаю, профессионалы, уже поняли в чем проблема
поэт Газон Засеян?
 

Армян

Новичок
разницу между абсолютными и относительными путями я знаю.
просто не вижу приемущества использования абсолютных путей :( вот и попросил както разъяснить.

думаю, профессионалы, уже поняли в чем проблема
Может это когда и написал Засеян :), но в данном топике это слова kombat
 
Сверху