абсолютный или относительный

Кром

Новичок
Мы здесь обсуждаем пути, а не наличие одного конфиг файла в системе. Или с твоей стороны это просто попытка придраться к примеру? Хорошо, поменяем название директорий.
Есть:
d:/localhost/inc/lib/some_lib.php
d:/localhost/inc/foo/index.php
В index.php мы пишем твой код:
require(realpath(dirname(__FILE__) . '/../lib/some_lib.php'));
Все работает. Переносим
d:/localhost/inc/foo/index.php
в
d:/localhost/inc/foo/sub_foo/index.php
и что дальше? Идем менять пути на
require(realpath(dirname(__FILE__) . '/../../lib/some_lib.php')); ?

Если тебе так нравиться, ради бога. Но не надо убеждать меня в том, что такой подход не противоречит тому, о чем писал я.
 
Кром
Да в том то и дело что мы обсуждаем пути, а не наличие или способ подключения конфига!

Как бы тебе проще объяснить. Понимаешь, вот в твоём примере есть две строчки
$path['docroot'] = '/usr/home/www/';
и
$path['cofig'] = 'confg/';
Я же пытаюсь объяснить, что я предпочитаю писать
$path['docroot'] = dirname(__FILE__);
Что бы мне не надо было лезть и меня этот путь при перезде на другой хостинг/перемещении самого сайта. Но если возникнет ситуация, когда dirname(__FILE__) вдруг будет не подходить (я не представляю себе такой ситуации) я пропишу это ручками.
Вот и вся разница.

Ты споришь не о том (ИМХО). Использовать одну точку входа, две, десять - вопрос ислкючительно проектирования и вкуса. Я тоже не представляю себе админа, который начнет ворочать мои файлы как ему вздумается. Сайт - это цельная и единая система. В этой системе есть модули, библиотеки. Они ни к чему ни привязанны. Они используют пути из _конфига_. Есть же управляющие файл(ы) точки выхода. В которых подключается конфиг. И которые _не могут_ переноситься как взбредет. По определению.
А вот конфиг может быть подключен откуда угодно. И лежать где угодно.
И в этом конфиге прописаны все пути. Полные. Ты - хочешь, пропиши их ручками. Я же этот конфиг автоматизирую. Но при необходимости пропишу в нём то, что надо ручками.

-~{}~ 01.06.05 13:52:

Кром
Более конкретно:
Я по твоему последнему посту понял только одно (из примера): Ты считаешь, что файл-точка входа должен быть один на весь сайт. Всегда. И ты считаешь что другой подход не приемлем. Я правильно тебя понимаю? Если нет - то поясни, что должен был показать твой пример, учитывая, что ты переносиш index.php а не lib'у
 

Кром

Новичок
Как бы тебе проще объяснить. Понимаешь, вот в твоём примере есть две строчки
$path['docroot'] = '/usr/home/www/';
и
$path['cofig'] = 'confg/';
Я же пытаюсь объяснить, что я предпочитаю писать
$path['docroot'] = dirname(__FILE__);
Что бы мне не надо было лезть и меня этот путь при перезде на другой хостинг/перемещении самого сайта.
Не надо выдергивать слова из контекста. Там было не два, а четыре строчки:
В нем ты вычисляешь физический путь на сервере.
$path['docroot'] = '/usr/home/www/';
Прописываешь путь к конфигу (ручками):
$path['cofig'] = 'confg/';
Поясняю: первая переменная вычилсяется динамически. Т.е. ничего менять при переезде на другой хостинг не надо.


Ты споришь не о том (ИМХО). Использовать одну точку входа, две, десять - вопрос ислкючительно проектирования и вкуса. Я тоже не представляю себе админа, который начнет ворочать мои файлы как ему вздумается. Сайт - это цельная и единая система. В этой системе есть модули, библиотеки. Они ни к чему ни привязанны. Они используют пути из _конфига_. Есть же управляющие файл(ы) точки выхода. В которых подключается конфиг. И которые _не могут_ переноситься как взбредет. По определению.
А вот конфиг может быть подключен откуда угодно. И лежать где угодно.
И в этом конфиге прописаны все пути. Полные. Ты - хочешь, пропиши их ручками. Я же этот конфиг автоматизирую. Но при необходимости пропишу в нём то, что надо ручками.
Из всего этого я понял, что ты не подключаешь отдельные библиотеки в модулях? Все в конфиге подключено?

Про админа я речи не вел. Речь шла о программисте, которые вполне может поменять расположение того или иного модуля, при этом не думая о том, сколько там вложенностей в пути до нужной ему библиотеки, одна, две или десять.

-~{}~ 01.06.05 13:16:

Я по твоему последнему посту понял только одно (из примера): Ты считаешь, что файл-точка входа должен быть один на весь сайт. Всегда. И ты считаешь что другой подход не приемлем. Я правильно тебя понимаю? Если нет - то поясни, что должен был показать твой пример, учитывая, что ты переносиш index.php а не lib'у
В данном случая речь несколько о другом. О путях. Проблемы точек входа, интерфейсов и т.д. лучше обсуждать в другом топике.
А мой пример показывал, как использовать методы формирования путей внутри самой системы.
 
Кром
Вот именно по этому я пишу что мы говорим об одном и том же.
Библиотеки я подключаю используя директории заданные _в конфиге_.
Единственное, для чего я использую вышеприведенный пример с __FILE__ - для подключения самого конфига, в основных файлах систем. Не _модулях_ и библиотеках. А основных файлах. Т.е. тех, которые используют модули и библиотеки.
Если прочитать тему выше, то Вы увидите, что спор шел о том, какие пути использовать лучше - относительные или абсолютные. И то, что написал я - всего лишь один из способов, динамически определять пути _из_ файла конфигурации. И к файлу конфигурации. И файл конфигурации _нельзя_ произвольно переносить куда угодно. По определению. На то он и файл конфигурации.

-~{}~ 01.06.05 14:27:

И безусловно, сами модули не должны использовать никаких путей в принципе. Они должны работать с готовыми константами (у меня) или функциями (у вас).

Таки вопрос остаётся: в чем разница?
 

Кром

Новичок
>Таки вопрос остаётся: в чем разница?

Пусть ответ на этот вопрос останется в качестве факультативного задания. Так как все доводы уже озвучены ранее.
 
Сверху