On Fri, Sep 28, 2007 at 01:16:38PM +0400, Виктор Вислобоков wrote:
> > Переменные не наследуются. Наследуются директивы. > > А значение переменных существует только на время выполнения запроса. > >
> > Но по факту это означает наследование переменных. > Судите сами. > В глобальном контексте устанавливается переменная $document_root > Потом мы переходим в локальный контекст (server), где эта переменная не
> установлена. Тогда её значение берётся из глобальной секции. А почему? > Потому что оно наследуется. В противном случае в локальном контексте > переменная должна была бы быть неопределена. Ещё раз: в локальном контексте
> значение переменной оказывается определено, хотя специально её никто не > определял. Откуда же взялось это значение? Оно УНАСЛЕДОВАНО из глобального > контекста. > > Возможно вы правы, касательно терминологии, но сути это не меняет.
> > Разумеется всё сказанное - моё IMHO. Автор - вы. Решать как это будет > работать вам. У нас разные взгляды на данную проблему, но это нормально :)
$document_root - одна из немногих переменных, значение которой явно зависит
от директивы (root в данном случае). Поэтому и создаётся впечатление, что она наследуется. Например, $remote_addr зависит только от клиента и говорить о наследовании здесь бессмысленно. И большинство переменных -
такие же.