document_root

12
L
На сайте с 14.12.2008
Offline
129
420
туплю уже второй день

мне нужно указать абсолютный путь для инклюдов

и я делаю define("BASE_DIR","BLA/BLA/BLA")  в каком-то, допустим, config.php

и потом include_once  BASE_DIR."/1/23/4/56/7/dimon.php"

но ведь config.php тоже должен инклюдиться, чтобы  константа BASE_DIR была определена в коде

значит, я этот  config.php каждый раз подключаю либо относительно текущей папки (_DIR_), либо при помощи $_SERVER['DOCUMENT_ROOT']

как мне зафиксировать  BASE_DIR так, чтобы она была определена еще до всяких инклюдов? это реально вообще?


L
На сайте с 10.02.2015
Offline
246
#1

а) прописывать в каждом файле
б) передавать с nginx
в) инклюдить захардкоженный путь
г) не мучить стюардессу, а использовать $_SERVER['DOCUMENT_ROOT']

L
На сайте с 14.12.2008
Offline
129
#2
livetv #:
б) передавать с nginx
г) не мучить стюардессу, а использовать $_SERVER['DOCUMENT_ROOT']

DOCUMENT_ROOT и передается с nginx

L
На сайте с 10.02.2015
Offline
246
#3
Leema #:

DOCUMENT_ROOT и передается с nginx

Мм, BASE_DIR передавайте тоже.

L
На сайте с 14.12.2008
Offline
129
#4
livetv #:

Мм, BASE_DIR передавайте тоже.

ты опять мимо, но спасибо за помощь)

W1
На сайте с 22.01.2021
Offline
306
#5
Leema :
но ведь config.php тоже должен инклюдиться, чтобы  константа BASE_DIR была определена в коде
значит, я этот  config.php каждый раз подключаю либо относительно текущей папки (_DIR_), либо при помощи $_SERVER['DOCUMENT_ROOT']

Нет единой точки входа? Тогда только так.

Мой форум - https://webinfo.guru –Там я всегда на связи
I1
На сайте с 31.07.2023
Offline
33
#6
Это все практики 2000 года. Сейчас так никто не делает, а если и делают - тупо что бы по-быстрому влепить код в старую кодовую базу и забыть.

Гугли "единая точка входа", автозагрузка в php и пространство имён в php.


Mik Foxi
На сайте с 02.03.2011
Online
1168
#7
Leema :
значит, я этот  config.php каждый раз подключаю либо относительно текущей папки (_DIR_), либо при помощи $_SERVER['DOCUMENT_ROOT']

ну вот так и делать во всем, относительно __DIR__ самое оптимальное. 

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ Форум на замену серчу: https://foxi.biz/
E
На сайте с 01.10.2017
Offline
112
#8
Leema :
как мне зафиксировать  BASE_DIR так, чтобы она была определена еще до всяких инклюдов? это реально вообще?

Да. Основные "базы" обычно определяются прямо в единой точке входа (фронт-контроллере) через __DIR__ (или __FILE__), чтобы уже на их основе подключать конфигурационные файлы. Только корневой каталог - это не основное в профессиональных проектах. В них в качестве основной базы определяется либо целиком каталог проекта, либо его подкаталог с программными файлами (исключением может быть единая точка входа и другие точки входа наподобие cron.php или cli.php, которые могут располагаться прямо в каталоге проекта; из-за ограничений хостинга единая точка входа может располагаться и в корневом каталоге).

Если у вас взаимоположение единой точки входа и конфигурационного файла с определениями "баз" всегда фиксировано, можете подключить этот конфигурационный файл непосредственно при помощи __DIR__.

Домены на продажу: https://p20.ru/collection/domains-for-sale
L
На сайте с 14.12.2008
Offline
129
#9
estic #:
прямо в единой точке входа

да не зашел мне ваш этот mvc)

E
На сайте с 01.10.2017
Offline
112
#10
Leema #:
да не зашел мне ваш этот mvc)

Даже так? )

Тогда нам с вами не о чем говорить. Хотя формально MVC != единая точка входа 😉

Ну, чисто теоретически, можно что-нибудь придумать и для множества точек входа. Но из реального опыта ничего не подскажу. Это было очень давно.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий